Linux

Освойте сочетания клавиш командной строки Linux для ускорения работы

Этот гайд покрывает основные и продвинутые сочетания клавиш для bash и zsh в Linux, которые помогут вам быстрее навигациировать, редактировать команды и управлять процессами в терминале.

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Linux с bash 4.0+ или zsh 5.0+Ubuntu 20.04+, Fedora 35+, Debian 10+

Введение / Зачем это нужно

Работа в командной строке Linux — это мощный инструмент для администрирования, разработки и автоматизации. Однако постоянный ввод команд мышкой или долгое перемещение стрелками могут замедлять ваш workflow. Сочетания клавиш (горячие клавиши) позволяют быстро навигационировать, редактировать команды и управлять процессами, экономя драгоценные секунды. После освоения этих комбинаций вы заметите значительный прирост продуктивности, особенно при длительных сессиях в терминале. В этом гайде мы разберём самые полезные сочетания для bash и zsh — самых популярных оболочек Linux.

Требования / Подготовка

Перед началом убедитесь, что у вас есть:

  1. Доступ к терминалу Linux — любой графический (gnome-terminal, konsole, xterm) или виртуальная консоль (Ctrl+Alt+F1-F6).
  2. Установленная оболочка — bash (по умолчанию в большинстве дистрибутивов) или zsh. Проверить текущую оболочку можно командой:
    echo $SHELL
    
  3. Базовые знания командной строки — умение вводить и выполнять простые команды.

💡 Совет: Если вы новичок, начните с bash, так как его сочетания клавиш наиболее универсальны. Zsh предлагает дополнительные фичи, но базовые комбинации совместимы.

Основные сочетания клавиш для навигации

Эти комбинации помогут быстро перемещаться по строке ввода без использования мыши или стрелок.

Навигация по символам и словам

  • Ctrl+A — перейти в начало строки команды.
  • Ctrl+E — перейти в конец строки команды.
  • Ctrl+B — переместиться назад на один символ (аналог стрелки ←).
  • Ctrl+F — переместиться вперёд на один символ (аналог стрелки →).
  • Alt+B — переместиться назад на одно слово (разделители: пробел, тире, slash).
  • Alt+F — переместиться вперёд на одно слово.

⚠️ Важно: На некоторых системах клавиша Alt может не работать в терминале по умолчанию. В этом случае используйте Esc, нажав его перед B или F (например, Esc затем B для перехода назад на слово).

Быстрое переключение позиций

  • Ctrl+XX — переключиться между началом строки и текущей позицией курсора (работает в bash и zsh при включённой опции set -o emacs).

Пример: вы ввели длинную команду, но Need исправить начало. Нажмите Ctrl+A, внесите правки, затем Ctrl+XX — курсор вернётся туда, где вы изначально остановились.

Сочетания для редактирования команд

Эти комбинации ускоряют исправление опечаток и модификацию команд.

Удаление текста

  • Ctrl+U — удалить всё от курсора до начала строки.
  • Ctrl+K — удалить всё от курсора до конца строки.
  • Ctrl+W — удалить слово перед курсором (от текущей позиции до предыдущего разделителя).
  • Alt+D — удалить слово после курсора (от текущей позиции до следующего разделителя).
  • Ctrl+D — удалить символ под курсором (аналог клавиши Delete).

Вставка и отмена

  • Ctrl+Y — вставить (yank) последний удалённый текст (сочетания Ctrl+U, Ctrl+K, Ctrl+W сохраняют текст в буфер).
  • Alt+. (точка) — вставить последний аргумент предыдущей команды. Повторное нажатие Alt+. циклически переключает аргументы из истории.
  • Ctrl+_ (или Ctrl+Shift+-) — отменить последнее изменение (аналог undo).

Пример: вы ввели cp file1.txt /path/to/destination/. Затем хотите скопировать file2.txt в то же место. Введите cp file2.txt и нажмите Alt+. — подставится /path/to/destination/.

Исправление опечаток

  • Alt+T — поменять местами два последних слова (полезно, если перепутали порядок).
  • Ctrl+T — поменять местами два последних символа (для исправления перестановки букв).

Поиск и работа с историей команд

Терминал сохраняет историю всех введённых команд. Эти сочетания позволяют быстро находить и повторять их.

Обратный поиск

  • Ctrl+R — начать обратный поиск по истории. Начните вводить часть команды, и терминал покажет первое совпадение. Повторное нажатие Ctrl+R ищет предыдущие совпадения. Ctrl+G — выйти из поиска, сохранив найденную команду в строке.
  • Ctrl+Sпрямой поиск (может быть заблокирован в некоторых терминалах; разблокировать через stty -ixon).

Навигация по истории

  • Ctrl+P (или стрелка ↑) — предыдущая команда в истории.
  • Ctrl+N (или стрелка ↓) — следующая команда в истории.
  • Ctrl+G — выйти из режима поиска или отменить текущий ввод.
  • !! — выполнить последнюю команду (удобно, если забыли sudo). Пример: sudo !!.
  • !$ — использовать последний аргумент последней команды. Пример: mv file1.txt /tmp/ затем cat !$ откроет /tmp/.
  • !^ — использовать первый аргумент последней команды.
  • !-2 — выполнить команду, введённую два шага назад в истории.

Управление процессами

Когда процесс выполняется в терминале, эти сочетания помогают управлять им без закрытия сессии.

  • Ctrl+Cпрервать текущий процесс (发送 SIGINT). Используйте, если команда зависла или нужно остановить.
  • Ctrl+Zприостановить процесс (发送 SIGSTOP) и вернуться в shell. Процесс остаётся в памяти.
  • Ctrl+D — отправить EOF (конец файла). Если вводится в пустой строке, завершает текущую сессию shell (аналог exit).
  • bg — возобновить приостановленный процесс в фоновом режиме.
  • fg — возобновить приостановленный процесс на переднем плане (в текущем терминале).
  • jobs — список всех приостановленных и фоновых задач в текущей сессии.

Пример: вы запустили sleep 1000, но Need вернуться в терминал. Нажмите Ctrl+Z, затем bg — процесс продолжит работать в фоне.

Продвинутые настройки и кастомизация

Хотя стандартных сочетаний достаточно для большинства задач, вы можете настроить свои или улучшить существующие.

Настройка bash через ~/.inputrc

Файл ~/.inputrc управляет поведением readline (библиотеки, используемой bash). Добавьте строки для новых сочетаний.

Пример: сделать Ctrl+Left/Right работающими как переход по словам (по умолчанию в некоторых терминалах они отправляют escape-последовательности).

# ~/.inputrc
"\e[1;5D": backward-word   # Ctrl+Left
"\e[1;5C": forward-word    # Ctrl+Right
"\e[5~": beginning-of-history  # PageUp для поиска в истории
"\e[6~": end-of-history        # PageDown

После сохранения файла перезапустите терминал или выполните bind -f ~/.inputrc.

Настройка zsh через ~/.zshrc

В zsh сочетания управляются через bindkey. Добавьте в ~/.zshrc:

# Пример: Ctrl+Left/Right для навигации по словам
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
# Включить emacs-режим (по умолчанию в zsh может быть vicmd-mode)
bindkey -e

Перезагрузите zsh: source ~/.zshrc.

Создание макросов

Вы можете назначить клавишу на последовательность команд. Например, в bash через ~/.inputrc:

# Ctrl+T вставить дату в формате YYYY-MM-DD
"\C-t": "date +%Y-%m-%d"

В zsh через ~/.zshrc:

bindkey "^T" insert-datetime
insert-datetime() {
  LBUFFER+=$(date +%Y-%m-%d)
}
zle -N insert-datetime

Практические советы по запоминанию

  1. Начните с малого — выучите 5-7 самых частых сочетаний (например, Ctrl+A, Ctrl+E, Ctrl+U, Ctrl+K, Ctrl+R). Используйте их сознательно каждый день.
  2. Создайте шпаргалку — распечатайте таблицу сочетаний и разместите рядом с монитором. Мы подготовили для вас PDF-шпаргалку — скачайте её здесь (в реальной статье будет ссылка).
  3. Практикуйтесь в нерабочее время — откройте терминал и попробуйте набирать длинные команды, используя только сочетания, без мыши.
  4. Используйте Ctrl+P/Ctrl+N вместо стрелок — это привычка быстро приходит.
  5. Не бойтесь ошибок — если случайно удалили текст, Ctrl+Y вернёт его.

Проверка результата

После изучения гайда вы должны:

  1. Быстро перемещаться по длинным командам с помощью Ctrl+A/E/B/F.
  2. Уметь исправлять опечатки без перепечатывания (например, Ctrl+U для удаления части команды).
  3. Находить и повторять предыдущие команды через Ctrl+R и !!.
  4. Управлять фоновыми задачами (Ctrl+Z, bg, fg).
  5. При необходимости — настроить собственные сочетания через конфиги.

Тест yourself: Откройте терминал и введите сложную команду, например:

sudo apt update && sudo apt upgrade -y

Теперь, не используя стрелок или мышь:

  • Перейдите в начало строки (Ctrl+A), удалите часть (Ctrl+K), вставьте обратно (Ctrl+Y).
  • Найдите команду sudo apt update через Ctrl+R.
  • Прервите выполнение (если оно длится) через Ctrl+C.

Если всё работает — вы на правильном пути!

Возможные проблемы

Сочетания не работают в моём терминале

  • Проблема: Alt+B или Alt+F ничего не делают.
    • Решение: Вместо Alt используйте Esc, затем B или F. Или настройте терминал на отправку Meta-последовательностей (например, в gnome-terminal: Настройки → Клавиши → "Alt sends ESC").
  • Проблема: Ctrl+Left/Right не перемещают по словам.
    • Решение: Настройте ~/.inputrc или ~/.zshrc как показано выше. Убедитесь, что escape-последовательности соответствуют вашему терминалу (проверьте через cat и нажатие комбинации).

Конфликты с приложениями

  • Проблема: В vim или nano сочетания клавиш могут отличаться или перехватываться.
    • Решение: В vim используйте Ctrl+[ вместо Esc, а для навигации по словам — W/B в нормальном режиме. В nano сочетания похожи на GUI-редакторы (например, Ctrl+←). Учитывайте контекст приложения.

Zsh в режиме vi

  • Проблема: По умолчанию zsh может использовать режим vi (как в vim), где сочетания другие.
    • Решение: Переключитесь на режим emacs (более привычный для bash) добавлением bindkey -e в ~/.zshrc.

Сброс настроек

  • Если сломали конфигурацию, удалите или переименуйте ~/.inputrc/~/.zshrc и перезапустите терминал — вернутся настройки по умолчанию.

Разные терминалы

  • В графических терминалах (gnome-terminal, konsole) сочетания обычно работают из коробки. В консоли (Ctrl+Alt+F1) некоторые escape-последовательности могут отличаться. Тестируйте в вашем окружении.

Часто задаваемые вопросы

Как быстро выучить все сочетания клавиш?
Есть ли различия в сочетаниях клавиш между bash и zsh?
Что делать, если какое-то сочетание не работает в моём терминале?
Можно ли создавать собственные сочетания клавиш?

Полезное

Изучите базовые сочетания для навигации
Освойте сочетания для редактирования команд
Практикуйте поиск по истории
Изучите управление процессами
Настройте свои сочетания (опционально)
Регулярно практикуйтесь

Эта статья помогла вам решить проблему?

Похожее

Кастомизация bash prompt: настройка PS1, цветов и информации

В этом гайде вы узнаете, как полностью кастомизировать приглашение bash (prompt) с помощью переменной PS1. Мы рассмотрим настройку цветов, отображение системной информации и условные конструкции.

Управление процессами в Linux: от базовых команд до systemd

Этот гайд научит вас находить, анализировать и управлять процессами в Linux с помощью командной строки. Вы освоите как базовые утилиты (ps, top, kill), так и современный менеджер systemd, что позволит вам контролировать работу системы и решать связанные проблемы.

Установка и настройка Zsh на Linux: полное руководство

В этом гайде вы установите мощную оболочку Zsh на Linux, настроите менеджер конфигураций Oh My Zsh и кастомизируете интерфейс под свои задачи. Получите продвинутый терминал с автодополнением, историей команд и удобными плагинами.