How To Easily “Stop” a Terminal Command!
![]()
When you find yourself running a terminal command that you don’t know how to exit from. Don’t just close the whole terminal, you can close the that command!
If you want to force quit “kill” a running command, you can use “Ctrl + C”. most of the applications running from the terminal will be forced to quit.
There’s commands/apps that are designed to keep running until the user asks it to end. and there’s other commands/apps that are designed to show the output and exit automatically.
Here’s how to stop 3 of the most common commands.
Nano Editor
Nano is a simple text editor, you could have faced it when dealing with “git commit”.
If you’re inside nano editor. Press “Ctrl + X” to exit. it will prompt you whether you want to save before quitting or not.
Vim Editor
Vim is another text editor, unlike nano, this one is sophisticated and powerful one.
If you were running Vim editor and you want to quit, you can press “Esc” then type a colon “:” followed by “q!” to force quit without saving.
If you want to save do the same process but replace “q!” with “wq” (which means write then quit).
Less is a command that let you view the content of an input (either the output of another command or a content of a file).
Less is different from the editors above, if you’re inside commands that don’t need input, like “less” or top, you can press “q”.
Others
Sometimes nothing from the above will work to quit the command gracefully. In these situations, you can use the “kill” command which is “Ctrl + C”.
In general, try to quit the application gracefully so it can do what it’s designed to do when quitting. If it didn’t work just force quit (kill) it.
How to abort a stuck command in ubuntu server?
I know there is ctrl + c , but sometimes that doesn’t work. In Ubuntu desktop I can just close the terminal window and open a new one when this happens, but how would this be solved using the CLI in Ubuntu server (without restarting the box)?
6 Answers 6
CTRL + C will send SIGINT to the application. The application can configure a handler for this signal or it can ignore the signal. By default there is no handler and SIGINT will kill the application.
You can use CTRL + \ which will send SIGQUIT . This will also generate a core dump if the core limit is not zero.
You can suspend the process and return to shell with CTRL + Z , this will stop the execution of the process and return to the shell prompt. The process will be in memory and it will be available as a job in the current shell. You can then use kill -SIGNAL %% or kill -SIGNAL %<job_ID> to send a signal to that job. E.g. to kill the last job use kill -9 %%
If none of them are working you can always send SIGTERM , then, as last resort, SIGKILL which will terminate any process. This signal as any other signals must be sent as the same user as the process you are trying to stop or as root. To send SIGKILL to process, first find the process with ps aux or ps -edf , then run kill -SIGKILL <process_ID> , where the <process_ID> is the PID column in ps output.
The signals can not be delivered if the process is in an uninterruptible call. Uninterruptible calls are kernel functions that can not be stopped and usually happen because of a bad driver (e.g. a driver that is not reentrant). A process that is in uninterruptible sleep can not be stopped until the call gets completed or the server is rebooted. Those signals will be held in the pending (Pnd) signals list. The pending signals for a process can be show with this small script that is just geting them from /proc/<PID>/status .
If a process becomes a zombie, it will not use any resources only taking space in the process table. A zombie process can not receive signals.
The list of signals for the current architecture can be found with kill -l
See the man pages of kill , ps and bash . To see a man page use something like: man ps
Горячие клавиши терминала Linux
Какие сочетания клавиш использовать, чтобы работа с терминалом стала проще и быстрее.
Введение
Терминал Linux — один из самых мощных инструментов на вооружении данного семейства операционных систем. Для неподготовленного пользователя, однако, вряд ли покажется чем-то удобным в использовании: горячие клавиши, к которым мы привыкли в Windows, часто не работают или работают не так, как мы от них ждем. В результате, первое знакомство с терминалом, как правило, бывает неприятным.
В данной статье мы рассмотрим комбинации клавиш, которые сильно упростят жизнь всем, кто работает с терминалом.
Как открыть терминал в Linux
В Ubuntu и других популярных дистрибутивах есть специальные горячие клавиши для того, чтобы открыть эмулятор терминала — специальную программу, которая является альтернативным источником ввода-вывода. Простыми словами, эмулятор терминала — это аналог стандартной консоли терминала внутри графической оболочки. Открыть терминал в Ubuntu можно с помощью комбинации клавиш Ctrl + Alt + T.
Управление окном эмулятора терминала
Указанные ниже сочетания клавиш упростят вашу работу с терминалом GNOME и большинством других приложений эмуляторов терминала.
- Ctrl + Shift + Q — закроет текущее окно терминала.
- Ctrl + Shift + T — откроет дополнительную вкладку терминала.
- Ctrl + Shift + W — закроет текущую вкладку.
- Ctrl + Shift + D — превратит вкладку в отдельное окно.
- Ctrl + PgUp — переместит на предыдущую вкладку.
- Ctrl + PgDown — переместит на следующую вкладку.
Переключение между tty-сессиями в терминале.
В терминале Linux есть возможность переключаться между разными сессиями терминала, своеобразными «рабочими столами» в контексте командной строки. Для переключения между разными сессиями, например, когда кажется, что терминал завис, нажмите комбинацию: Ctrl + Alt + f2. Вы можете переключаться между шестью разными сессиями. Для переключения назад на первую tty-сессию терминала нажмите Ctrl + Alt + f1.
Нажатие комбинации Ctrl + Alt + f7, в свою очередь, управляет отображением графической оболочки ОС.
Управление вводом: автодополнение команд и исправление опечаток
Клавиша TAB — самая частая и основная в использовании среди всех горячих клавиш Linux. Данная клавиша поможет вам дополнить команду или путь к файлу или предложит варианты, если их несколько.
Для использования данного функционала начните набирать команду и нажмите TAB после введения нескольких символов.
- Одно нажатие — дополняет команду.
- Два нажатия — предлагает несколько вариантов, если введенный текст имеет несколько вариантов продолжения. Например, двойное нажатие Tab поможет написать длинный путь к нужному файлу или директории.
Ctrl + Shift + «-»
Сочетание клавиш Ctrl Shift и знака «минус» поможет вам отменить последний ввод в терминал. Команда очень полезна, если вы выбрали не тот вариант из меню предложенных в автодополнении или сделали опечатку.
Ctrl + T
Это сочетание клавиш меняет местами два соседних символа и может быть очень полезна, если вы опечатались и написали слово неправильно. Например, используя данное сочетание клавиш, можно с легкостью исправить selectle на правильный вариант — selectel.
Alt + T
Это сочетание клавиш уже посерьезнее, чем предыдущее и меняет местами целые слова. Например, с помощью этого сочетания, можно парой нажатий исправить I Selectel Love на правильный вариант — I Love Selectel.
Alt + Backspace и Alt + D
Эти два сочетания помогут быстро удалить ненужные части введенных ранее команд.
- Alt + Backspace поможет удалить слово, стоящее перед курсором (слева).
- Alt + D удаляет все символы, которые находится справа от курсора в текущей строке.
Управление курсором
В какой-то момент стрелочек на клавиатуре будет недостаточно для быстрого перемещения по тексту, и вам понадобятся новые комбинации. Они позволят быстрее ориентироваться в тексте и набирать команды.
- Ctrl+A (Home) совершит быстрый переход в начало строки.
- Ctrl+E (End) переместит курсор в конец строки текста.
- Alt+B переместит курсор назад (влево) на одно слово.
- Ctrl+B переместит курсор назад (влево) на один символ.
- Alt+F сдвинет курсор на слово вправо.
- Ctrl+F сдвинет курсор на слово вправо.
- Ctrl+XX мгновенно переместит курсор в начало текущей строки, выделив весь текст на своем пути. С помощью этого сочетания клавиш можно выделить строку или исправить что-то в ее начале. Второе нажатие комбинации переместит позицию курсора назад.
Работа с буфером обмена
В терминале также есть возможность пользоваться буфером обмена: копировать в него текст, вырезать и вставлять в строку или в файл, открытый в терминале.
Ctrl + W
Это сочетание клавиш поможет вырезать стоящее перед курсором слово и скопировать его в буфер обмена.
Ctrl + U
Это сочетание вырежет и скопирует в буфер обмена текущую строку.
Ctrl + K
Сочетание клавиш Ctrl и K вырежет строку, находящуюся справа от курсора.
Shift + Insert
Данное сочетание клавиш нужно для того, чтобы вставить в терминал текст, находящийся в буфере обмена.
Ctrl + Y
Вставит в поле ввода последний скопированный или вырезанный в буфер обмена текст.
Форматирование текста в терминале
Следующий набор горячих клавиш сильно упростит работу с регистром символов, введенных в терминал. В Linux и UNIX-системах регистр играет важную роль, поэтому данные команды также будут очень полезны.
Alt + U
После того, как вы нажмете это сочетание клавиш, все символы справа от курсора и до конца текущего слова сменят регистр на верхний.
Alt + L
Сочетание Alt + L работает наоборот: все символы справа от курсора и до конца текущего слова сменят регистр на нижний.
Alt + C
При активации этого сочетания клавиш символ, находящийся под курсором, изменит регистр с нижнего на верхний, а курсор переместится в конец слова.
Работа с историей bash
Терминал хранит историю выполненных пользователем команд. Если вы хотите ее посмотреть, выполните следующую команду:
Эта команда не очень удобна, когда нужно быстро вспомнить ранее введенную команду и выполнить ее в командной оболочке. В этом нам помогут сочетания клавиш.
Ctrl + P
Данное сочетание клавиш заменяет стрелку «вверх». Используйте его, чтобы переместиться к команде, выполненной ранее. Вы можете использовать данное сочетание неограниченное количество раз, каждый раз перемещаясь к более ранней команде.
Ctrl + N
Это сочетание клавиш, в свою очередь, является альтернативой стрелке «вниз» и нужно, чтобы переместиться по истории в обратную сторону.
Ctrl + R
После нажатия этого сочетания клавиш в терминале появится строка поиска, которая поможет найти и выполнить команду из истории команд, ранее запущенных через терминал. Для выполнения предложенной команды, просто нажмите Enter, а для редактирования предложенной команды или выхода из поиска — Esc.
- Ctrl + 0 сразу выполнит найденную команду без изменений.
- Ctrl + G завершит работу с инструментом поиска по истории без выполнения найденной команды.
Alt + R
Если вы нашли в истории команду, уже отредактировали и хотите отменить изменения, нажмите это сочетание клавиш. Команда вернется к первоначальному виду.
Управление процессами
В терминале Linux также есть горячие клавиши для легкого управления запущенными в терминале процессами.
Ctrl + C
Данное сочетание клавиш необходимо знать любому пользователю терминала. С его помощью можно завершить процесс, выполняющийся на данный момент в терминале. Это сочетание клавиш мгновенно отправит программе сигнал SIGINT, и если программа не завершит работу должным образом, он будет принудительно остановлен. Иными словами, эта комбинация убивает текущий процесс.
Ctrl + D
Сочетание Ctrl + D завершает работу терминала, посылая в терминал запрос EOF или «конец файла». После получения данного запроса, работа терминала завершается. Если у вас в терминале открыто активное ssh подключение, то комбинация Ctrl + D разъединит вас с удаленным хостом. Это сочетание клавиш является альтернативой команды exit.
Ctrl + Z
Сочетание Ctrl + Z пошлет текущему процессу запрос SIGSTP и приостановит его выполнение до востребования. Запустить приостановленный процесс можно с помощью следующей команды:
Посмотреть список приостановленных процессов вы можете, выполнив команду:
Сочетания клавиш для управления отображением
При помощи сочетаний клавиш, приведенных ниже, вы сможете легко управлять количеством информации, находящейся в окне терминала.
Ctrl + L
Это сочетание — альтернатива команде clear. После нажатия Ctrl + L терминал очистится от результатов выполнения предыдущих команд.
Ctrl + S
Сочетание клавиш Ctrl + S остановит вывод в терминал. Команда не прекратит выполняться, но вывод данных непосредственно в терминал будет приостановлен.
Ctrl + Q
Нажатие этой горячей клавиши снимет вывод в терминал с паузы, на которую вы его поставили нажатием клавиши Ctrl + S.
Заключение
В этой инструкции мы рассмотрели, как пользоваться горячими клавишами Linux, чтобы работа с терминалом была проще и быстрее.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Горячие клавиши в терминале Linux

Давным-давно, такие слова как «hot keys» и «keyboard shortcuts» мне не всегда удавалось перевести на русский без потери лица. Как-то раз, я написал «клавиатурные сокращения», чем сразу же привлёк косые взгляды и вызвал смелые медицинские фантазии. Но вроде бы сейчас принято везде говорить и писать «горячие клавиши». О них и поговорим.
Данная заметка — шпаргалка по линуксовой оболочке Bash и смежным компонентам. Часть приводимых ниже команд относится к библиотеке Readline, часть — к сигналам Linux, однако такие подробности нам здесь не важны. Если вам приходится часто иметь дело с терминалом в Linux (и вы не меняли Bash на другой шелл), то будет очень полезно использовать эти самые «сокращения» на благо себе и в мирных целях. Текст написан для начинающих пользователей, но кто знает — может быть и вы найдёте в нём что-то новое и полезное для себя.
Для удобства будем считать, что по умолчанию под терминалом мы понимаем стандартную в настольной редакции Ubuntu программу «Терминал Gnome».
Вкладки
В программе “Терминал Gnome” предусмотрены вкладки, и работают они аналогично вкладкам в веб-браузере или файловом менеджере. Иными словами, если вам нужно несколько терминалов, вовсе не обязательно открывать несколько окон. Достаточно одного окна с несколькими вкладками. Ниже приведены горячие клавиши, относящиеся ко вкладкам:
Ctrl+Shift+T — открыть новую вкладку;
Ctrl+Shift+W или Ctrl+D — закрыть текущую вкладку (или весь терминал, если вкладка одна);
Ctrl+Shift+N — открыть новое окно терминала из текущего.
Со временем вы можете оказаться в ситуации, когда вкладок станет действительно много, и тогда возникнет вопрос о навигации между ними. Вам пригодятся следующие сочетания клавиш:
Ctrl+PgDn — перейти на следующую (справа) вкладку;
Ctrl+PgDn — перейти на предыдущую (слева) вкладку;
Ctrl+Shift+PgDn — сдвинуть вкладку вправо;
Ctrl+Shift+PgUp — сдвинуть вкладку влево.
Alt+1 — перейти на первую по счёту вкладку. Подставьте другую цифру для нужной вам вкладки. Данный способ позволяет «дотянуться» максимум до десятой по счёту вкладки.
Навигация
Три очень часто используемые комбинации для копирования и вставки текста, а также отмены выполняющейся команды:
Ctrl+Shift+С — копирование в буфер обмена;
Ctrl+Shift+V — вставка из буфера обмена;
Ctrl+C — прерывание выполняющейся команды или очистка текущей строки.
Для того чтобы выделить нужный текст в терминале, вам потребуется воспользоваться мышью. Тем не менее, в программе “Терминал Gnome” имеется встроенное средство поиска текста, которое позволяет искать как по обычному фрагменту, так и по регулярному выражению:
Ctrl+Shift+F — вызов встроенного поиска по любому тексту в терминале.
Если команда в терминале слишком длинная, или вы сделали опечатку в начале и не сразу это заметили, вы можете вернуться в начало строки. А затем — снова в конец. Вот как это сделать:
Ctrl+A — переместиться в начало строки;
Ctrl+E — переместиться в конец строки.
В терминале Linux можно перемещаться внутри строки также по словам и по отдельным символам (в последнем случае, это аналогично использованию клавиш с боковыми стрелками):
Ctrl+F — переместиться на 1 символ вперед;
Ctrl+B — переместиться на 1 символ назад;
Alt+F — переместиться к следующему слову;
Alt+B — переместиться в начало предыдущего слова.
Управление командами и процессами
Предыдущие команды касались навигации по терминалу и строке ввода команды. Далее стоит рассмотреть управляющие команды Bash, с помощью которых можно запускать, останавливать, ставить на паузу и возобновлять команды и процессы. Вы уже знаете, что запущенный в терминале процесс можно прервать по Ctrl+C, но полезно также знать и некоторые нюансы.
В терминале Linux вы можете не только завершать программы полностью, но и ставить их на паузу. Затем выполнение программы можно возобновлять, причём, как с возвратом интерактивной командной строки, так и без него:
Ctrl+Z — приостановка процесса;
команда bg — возобновление процесса с возвратом командной строки (процесс продолжает выполнение в фоне);
команда fg — возобновление процесса, при котором он удерживает командную строку за собой (процесс выполняется на «переднем плане»).
Процессы также можно приостанавливать и возобновлять. Запустите какую-либо команду, например htop , и нажмите Ctrl+Z. Сначала будет казаться, будто команда завершилась, но она будет числиться в списке запущенных процессов ( ps -a ) и появится вновь после ввода команды fg.
Если повторить эксперимент с графическим приложением, например, введя команду firefox , то можно будет использовать для его «оживления» как fg , так и bg . При любом варианте приложение останется «закреплённым» за текущим терминалом: если вы закроете его, то оно тоже завершится.

После приостановки процесса firefox в терминале рабочая среда Gnome будет считать, что приложение «не отвечает».
Существует и другой тип «приостановки»: временное прекращение вывода выполняющейся команды. Как консольное, так и графическое приложение может быть запущено в терминале, в который будет выводиться текущая диагностическая информация. Иногда бывает очень удобно временно прекратить постоянный вывод сообщений без завершения самого приложения. Для этого пригодятся следующие сочетания клавиш:
Ctrl+S — прекратить обновление вывода команды;
Ctrl+Q — возобновить вывод команды.
История команд
Bash умеет запоминать все введённые вами команды. Пока терминал запущен, они хранятся в оперативной памяти компьютера, а при выходе из терминала записываются в долговременное хранилище в файле
Если вы точно знаете, что вводили нужную вам команду раньше, поищите её в истории:
history — вывод истории команд;
Если вы помните хотя бы часть команды, поиск можно уточнить:
history | grep <часть команды> — пример уточняющего поиска по истории командам.
У каждой команды в истории есть номер. Введите этот номер, поставив вначале восклицательный знак, и Bash выполнит соответствующую команду:
!151 — выполнить команду под номером 151 из истории;
!151: — показать команду номер 151, но не выполнять её;
!! — повторно выполнить последнюю введенную команду.
В Bash имеется интерактивный режим поиска по истории команд. Нажмите Ctrl+R и начните набирать часть команды. Bash сам предложит вам первый совпадающий вариант. Если он не подходит, нажимайте Ctrl+R дальше для перебора вариантов. Когда нужный вариант будет найден, нажмите Enter.
Интересно, что у этой клавиши ввода есть два аналога — вместо Enter можно нажать Ctrl+M или Ctrl+J.
Самый простой способ перемещаться по истории команд — стрелки «вверх» и «вниз» на клавиатуре. Они тоже имеют дубликаты:
Ctrl+P — вывести предыдущую команду;
Ctrl+N — вывести следующую команду.
Редактирование команд
Самое время рассмотреть средства редактирования команд — они в Bash весьма продвинутые. Удобное перемещение в начало и конец строки, выборочное удаление символов и слов — это лишь часть возможностей, которые могут пригодиться пользователю. За редактирование команд отвечают следующие сочетания клавиш:
Ctrl+U — удалить весь текст слева от курсора;
Ctrl+K — удалить весь текст справа от курсора;
Ctrl+W — удалить 1 слово или параметр слева от курсора;
Ctrl+D — удаление текущего символа (аналогично Del);
Ctrl+H — удаление предыдущего символа (аналогично Backspace);
Alt+D — удалить всё справа от курсора до ближайшего пробела;
Alt+Backspace — удалить всё слева от курсора до ближайшего пробела;
Alt+T — поменять местами текущее слово с предыдущем;
Esc+T — поменять местами два предыдущих слова;
Tab — автодополнение команды после ввода её первых символов.
Ещё одна любопытная деталь: у Bash имеется собственный буфер обмена, который работает независимо от стандартного буфера (как мы помним, копирование по Ctrl+Shift+C, вставка по Ctrl+Shift+V). Это важно, поскольку у первых трёх команд из предыдущего списка есть дополнительные функции: они не просто удаляют часть текста, но и копируют его в тот самый отдельный буфер обмена Bash. Поэтому, будет справедливо уточнить:
Ctrl+U — вырезать и поместить в буфер обмена весь текст слева от курсора;
Ctrl+K — вырезать и поместить в буфер обмена весь текст справа от курсора;
Ctrl+W — вырезать и поместить в буфер обмена 1 слово или параметр слева от курсора;
Кстати, для вставки скопированного текста обратно сработает комбинация Ctrl+Y.
Напоследок
Конечно, выше я описал не все горячие клавиши: их гораздо больше, и полное описание содержало бы в себе кучу бородатой экзотики, унаследованной из древних университетских времён UNIX. В любом случае, не забывайте про man bash (например, там есть замечательный раздел Commands for Moving) и про bind -P .