Ctrl + C, Ctrl + D, Ctrl + Z
Комбинации клавиш Ctrl + C, Ctrl + D и Ctrl + Z часто используются в терминале для выхода из программы, работающей на переднем плане (foreground), и передачи управления Bash.
Ctrl + C выполняет прерывание процесса. По-сути убивает его. Результат действия Ctrl + D такой же. Однако разница между этими двумя способами выхода есть, и заключается она во внутреннем механизме.
Нажатие Ctrl + C заставляет терминал послать сигнал SIGINT процессу, который на данный момент его контролирует. Когда foreground-программа получает сигнал SIGINT, она обязана прервать свою работу.
Нажатие Ctrl + D говорит терминалу, что надо зарегистрировать так называемый EOF (end of file – конец файла), то есть поток ввода окончен. Bash интерпретирует это как желание выйти из программы.
При работе в конкретной программе могут срабатывать оба способа, но может только один. Так команда cat без параметров запускается в интерактивном режиме, в котором то, что вы ввели, будет тут же выводиться на экран после нажатия Enter. Выйти из программы можно как с помощью Ctrl + С, так и Ctrl + D.
Выйти из интерпретатора Питона с помощью Ctrl + C нельзя.
Комбинация клавиш Ctrl + Z посылает процессу сигнал, который приказывает ему остановиться. Это значит, что процесс остается в системе, но как бы замораживается. Само собой разумеется он уходит в бэкграунд (background) – в фоновый режим. С помощью команды bg его можно снова запустить, оставив при этом в фоновом режиме. Команда fg не только возобновляет ранее приостановленный процесс, но и выводит его из фона на передний план.
На скриншоте сначала запускается интерпретатор Питона. Далее его работа останавливается с помощью Ctrl + Z. Командой fg python3 мы возобновляем работу приложения и делаем его текущим. То, что мы вернулись в тот же самый процесс, видно по переменной a , значение которой остается доступным.
С помощью команды ps можно посмотреть процессы текущего сеанса Bash (используя ключи можно просматривать и другие процессы). А команда kill позволяет удалять ненужные.
Здесь запускается cat и приостанавливается. Далее смотрим список процессов. Ключ -9 команды kill обозначает, что мы хотим полностью избавиться от процесса. В качестве аргумента передается идентификационный номер процесса (PID).
Отметим, что во многих консольных программах управляющие комбинации с клавишей Ctrl обычно обозначаются как ^C, ^Z и т. п. То есть вместо Ctrl используется знак ^.
Также обратим внимание, что понятие «процесса» связано с понятием «одновременного выполнения нескольких программ». Процесс – это выполняющаяся программа, а точнее экземпляр выполняющейся программы, потому что в системе может существовать несколько процессов, запущенных на основе одной программы. Ядром операционной системы создается видимость одновременного выполнения множества процессов.
При необходимости системный администратор может запускать процессы, требующие длительного выполнения, в бэкграунде, а на «переднем плане» выполнять другие команды. Запустить процесс в фоне можно с помощью знака амперсанда &, который записывается в конце команды.
Если в текущем терминале было запущено и переведено в фон несколько одноименных процессов, то сделать один из них текущим с помощью команды fg имя_программы не получится. PID также не используется как аргумент для fg. Здесь используется идентификатор процесса, который возвращает команда jobs. Причем для fg его надо использовать в формате %ID.
Выполните команды sleep 10m и sleep 10s , каждую остановите с помощью Ctrl + Z. Посмотрите идентификаторы процессов с помощью jobs. Выведите из бэкграунда десятисекундный слип. Учитывалось ли время, когда процесс был остановлен? После этого сделайте текущим десятиминутный слип и прервите его.
Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.
Источник
RANUX / комбинации-клавиш-bash.txt
##### Перемещение курсора: |
Ctrl + a — переход в начало строки |
Ctrl + b — переход на 1 символ назад |
Ctrl + c — посылает программе SIGINT. Обычно, прерывает текущее задание |
Ctrl + d — удаляет символ под курсором (аналог delete) |
Ctrl + e — переход к концу строки |
Ctrl + f — переход на 1 символ вперёд |
Ctrl + xx — переходит от текущей позиции курса в начало строки и обратно. |
Ctrl + p — Предыдущая команда (Стрелка вверх) |
Ctrl + n — Следующая команда (Стрелка вниз) |
Alt + b — Переместить курсор на одно слово назад (влево) |
Alt + f — Переместить курсор на одно слово вперед (вправо) |
Ctrl + b — Переместить курсор на один символ назад (влево) |
Ctrl + f — Переместить курсор на один символ вперед (вправо) |
Ctrl + xx — Переключение между началом строки и текущей позиции курсора |
##### Редактирование |
Ctrl + L — очищает экран. Аналог команды clear. |
Alt + Del — Удалить слово перед курсором. |
Alt + d — Исключить слово после курсора. |
Ctrl + D — Удалить символ под курсором |
Ctrl + H — Удалить символ перед курсором (Backspace) |
Ctrl + Alt + H — Удаление слова перед курсором |
Ctrl + W — Вырезать слово перед курсором в буфер обмена. |
Ctrl + K — Вырезать строки после курсора в буфер обмена. |
Ctrl + U — Вырезать / удалить все символы слева от курсора до начала строки в буфер обмена. |
Alt + T — Поменять текущее слово с предыдущим |
Ctrl + T — Поменять местами последние два символа перед курсором. Меняет символ под курсором на предыдущий. Или, если хотите, тянет предыдущий символ к концу строки. |
Esc + T — Поменять местами последние два слова перед курсором. |
Ctrl + Y — Вставить последнюю запись из буфера, которая была вырезана. |
Alt + U — Возвести в ВЕРХНИЙ РЕГИСТР (прописными буквами) все символы от курсора до конца текущего слова. |
Alt + L — Возвести в нижний регистр каждый символ от курсора до конца текущего слова. |
Alt + C — Сделать прописным символ под курсором и перейти к концу слова. |
Alt + R — Отменить изменения. Вернуть команду взятую из истории в исходное состояние. |
Ctrl + _ — Отмена |
Shift + PgUp / PgDown — прокрутку вверх / вниз |
Ctrl + X; Ctrl + E — открывает $EDITOR для изменения введённой строки. После сохранения изменений, команда отправляется на исполнение. Если переменная не задана, то открывается системный текстовый редактор (для линукса это, зачастую, nano) |
Ctrl + X @ — показывает возможные дополнения имени хоста |
TAB — авто дополнение для имен файлов / каталогов |
Например, чтобы перейти в каталог ‘sample1’, введите команду «`cd sam«`, затем нажмите TAB и ENTER. Вводите только достаточное количество символов, чтобы однозначно идентифицировать каталог или программу, которую вы хотите открыть. |
##### История |
Ctrl + R — поиск по истории. Повторение поиска (нажмите несколько раз для листания по результам поиска). |
Ctrl + P — Предыдущая команда в истории (то есть идти назад по истории команд) |
Ctrl + N — Следующая команда в истории (то есть идти вперед по истории команд) |
Ctrl + J — прекращает поиск и позволяет отредактировать найденную команду. Если поиск не производился, то аналогично нажатию return. (в zsh выполняет команду) |
Ctrl + S — Вернуться к следующему самой последней команде. (Остерегайтесь, чтобы не выполнить его из терминала, потому что это также запустит свой XOFF). |
Ctrl + Z — приостановить (suspend) текущую задачу. |
Ctrl + O — Выполните команду найденную с помощью Ctrl + R или Ctrl + S |
Ctrl + G — Выход из режима поиска |
«`history | grep regex«` — поиск в истории |
!! — Выполнить еще раз последнюю команду |
!! sudo — повторить последнюю команду с правами super user |
!abc — Выполнить последнюю команду, имя которой начинается с abc |
!abc:p — Вывести последнюю команду, имя которой начинается с abc |
!$ — Последний аргумент предыдущей команды |
ALT + . — Последний аргумент предыдущей команды |
!* — Все аргументы предыдущей команды |
^abc^def — Выполнить предыдущую команду, заменив abc на def |
##### Управление процессом выполнения |
Ctrl + C Прервать/Убить запущенное приложение (SIGINT) |
Ctrl + S Остановить вывод на экран (для длительных многословных команд) |
Затем используйте PgUp / PgDn для навигации |
Ctrl + Q Разрешить вывод на экран (если ранее перестали использовать команду выше) |
Ctrl + D Отправить EOF, если не была выключена опция, это закроет текущую оболочку (EXIT) |
Ctrl + Z Послать сигнал SIGTSTP к текущей задаче, которая приостанавливает его. |
Установить режим Vim в Bash: |
«`$ set -o vim«` |
Установить режим Emacs в Bash: |
«`$ set -o emacs«` |
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Сочетания клавиш bash
Оболочка bash предлагает широкий выбор сочетаний клавиш, которые вы можете использовать. Они будут работать в bash в любой операционной системе.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Работа с процессами
Используйте следующие сочетания клавиш для управления запущенными процессами:
- Ctrl + C : прервать (убить) текущий процесс, запущенный в терминале на переднем плане. Это посылает процессу сигнал SIGINT, который технически является просто запросом — большинство процессов его учтут, но некоторые могут и проигнорировать.
- Ctrl + Z : приостановить текущий процесс, запущенный в bash на переднем плане. Это отправляет процессу сигнал SIGTSTP. Чтобы позже вернуть процесс на передний план, используйте команду fg имя_процесса .
- Ctrl + D : закрыть оболочку bash. Это отправляет маркер EOF (End of file — конец файла) в bash, и bash завершает работу, когда получает этот маркер. Это похоже на команду exit .
Перемещение курсора
Используйте следующие сочетания клавиш, чтобы быстро перемещать курсор по текущей строке при вводе команды.
- Ctrl + A или Home : перейти к началу строки.
- Ctrl + E или End : перейти в конец строки.
- Alt + B : перейти на одно слово влево (назад).
- Ctrl + B : перейти на один символ влево (назад).
- Alt + F : перейти вправо (вперед) на одно слово.
- Ctrl + F : перейти вправо (вперед) на один символ.
- Ctrl + XX : перемещение между началом строки и текущей позицией курсора. То есть можно нажать Ctrl + XX , чтобы вернуться в начало строки, что-то изменить, а затем нажать Ctrl + XX , чтобы вернуться в исходную позицию курсора. Чтобы использовать этот шорткат, удерживайте клавишу Ctrl и дважды нажмите X .
Исправление опечаток
Эти сочетания позволяют исправлять опечатки и отменять нажатия клавиш.
- Alt + T : заменить текущее слово предыдущим.
- Ctrl + T : поменять местами два последних символа перед курсором. Можно использовать, чтобы быстро исправить опечатки, когда вы вводите два символа в неправильном порядке.
- Ctrl + _ : отменить последнее нажатие клавиши. Можно использовать несколько раз подряд.
Вырезка и склейка
Bash включает в себя несколько основных функций вырезания и вставки.
- Ctrl + W : вырезать слово перед курсором и добавить его в буфер обмена.
- Ctrl + K : вырезать часть строки после курсора, добавив ее в буфер обмена.
- Ctrl + U : вырезать часть строки перед курсором, добавив ее в буфер обмена.
- Ctrl + Y : вставить последнее вырезанное из буфера обмена.
Заглавные буквы
Оболочка bash может быстро преобразовывать символы в верхний или нижний регистр:
- Alt + U : вводить каждый символ от курсора до конца текущего слова с заглавной буквы, переводя символы в верхний регистр.
- Alt + L : убирает заглавные буквы с каждого символа от курсора до конца текущего слова, переводя символы в нижний регистр.
- Alt + C : ввести заглавную букву под курсором. Ваш курсор переместится в конец текущего слова.
Табуляция
Завершение при помощи табуляции — очень полезная функция bash. При вводе имени файла, каталога или команды нажмите Tab , и bash автоматически завершит ввод, если это возможно. Если нет, bash покажет вам различные возможные совпадения, и вы можете продолжить вводить и нажимать Tab , чтобы закончить ввод.
- Tab : автоматическое заполнение файла, каталога или команды, которую вы вводите.
Например, если у вас есть файл с длинным именем really_long_file_name в /home/alex/ и это единственное имя файла, начинающееся с r в этом каталоге, вы можете ввести /home/alex/r , нажать Tab , и bash автоматически заполнит /home/alex/really_long_file_name для вас. Если у вас есть несколько файлов или каталогов, начинающихся с r , bash проинформирует вас о доступных вариантах. Вы можете начать вводить один из них и нажать Tab , чтобы продолжить.
Работа с историей команд
Вы можете быстро просмотреть свои недавние команды, которые хранятся в файле истории bash вашей учетной записи:
- Ctrl + P или стрелка вверх: переход к предыдущей команде в истории команд. Нажмите ярлык несколько раз, чтобы вернуться к истории.
- Ctrl + N или стрелка вниз: переход к следующей команде в истории команд. Нажмите ярлык несколько раз, чтобы перейти вперед по истории.
- Alt + R : отменить любые изменения команды, извлеченной из истории, если вы ее редактировали.
В Bash также есть специальный режим поиска, который вы можете использовать для поиска ранее выполненных команд:
- Ctrl + R: вспомнить последнюю команду, соответствующую указанным вами символам. Нажмите это сочетание и начните вводить символы для поиска команды в истории bash.
- Ctrl + O : запустите найденную команду с помощью Ctrl + R .
- Ctrl + G : выйти из режима поиска в истории без выполнения команды.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник