terminal

Гарячі клавіши

Ctrl+Shift+T — відкрити новую вкладку;

Ctrl+Shift+N — відкрити новое окно

Ctrl+Shift+W або Ctrl+D — закрити поточну вкладку (или весь терминал, если вкладка одна);

Якщо вкладок багато, тоді виникне питання навігації між ними. Вам знадобляться наступні клавіші:

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, то можна буде використовувати для його “пожвавлення” як fg, так і bg. За будь-якого варіанта додаток залишиться «закріпленим» за поточним терміналом: якщо ви закриєте його, воно теж завершиться.

Существует и другой тип «приостановки»: временное прекращение вывода выполняющейся команды. Как консольное, так и графическое приложение может быть запущено в терминале, в который будет выводиться текущая диагностическая информация. Иногда бывает очень удобно временно прекратить постоянный вывод сообщений без завершения самого приложения. Для этого пригодятся следующие сочетания клавиш:

Існує й інший тип «призупинення»: тимчасове припинення виведення команди, що виконується. Як консольний, так і графічний додаток може бути запущений у терміналі, в який виводитиметься поточна діагностична інформація. Іноді буває дуже зручно тимчасово припинити постійний виведення повідомлень без завершення програми. Для цього знадобляться наступні клавіші:

Ctrl+S — прекратить обновление вывода команды;

Ctrl+Q — возобновить вывод команды.

История команд

Bash умеет запоминать все введенные вами команды. Пока терминал запущен, они хранятся в оперативной памяти компьютера, а при выходе из терминала записываются в долговременное хранилище в файле ~/.bash_history.

Если вы точно знаете, что вводили нужную вам команду раньше, поищите ее в истории:

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.

keys: hot keys keyboard shortcuts

https://habr.com/ru/post/663758/