Горячие клавиши терминала Linux
Какие сочетания клавиш использовать, чтобы работа с терминалом стала проще и быстрее.
Эта инструкция — часть курса «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
Клавиша 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
Терминал хранит историю выполненных пользователем команд. Если вы хотите ее посмотреть, выполните следующую команду:
history
Эта команда не очень удобна, когда нужно быстро вспомнить ранее введенную команду и выполнить ее в командной оболочке. В этом нам помогут сочетания клавиш.
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 и приостановит его выполнение до востребования. Запустить приостановленный процесс можно с помощью следующей команды:
Посмотреть список приостановленных процессов вы можете, выполнив команду:
jobs
Сочетания клавиш для управления отображением
При помощи сочетаний клавиш, приведенных ниже, вы сможете легко управлять количеством информации, находящейся в окне терминала.
Ctrl + L
Это сочетание — альтернатива команде clear. После нажатия Ctrl + L терминал очистится от результатов выполнения предыдущих команд.
Ctrl + S
Сочетание клавиш Ctrl + S остановит вывод в терминал. Команда не прекратит выполняться, но вывод данных непосредственно в терминал будет приостановлен.
Ctrl + Q
Нажатие этой горячей клавиши снимет вывод в терминал с паузы, на которую вы его поставили нажатием клавиши Ctrl + S.
Заключение
В этой инструкции мы рассмотрели, как пользоваться горячими клавишами Linux, чтобы работа с терминалом была проще и быстрее.
Основные команды Linux: почти полное руководство с примерами
Структура и типы файловых систем в Linux
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Инструкция
Как разработать gRCP-сервис на Go
Как прервать операцию в терминале linux? Читай далее.
Предположим, я ввожу команду top, которая выводит список запущенных процессов в линхе, у меня отрываются все процессы в терминале. Теперь я хочу продолжить работать в этом же окне терминала, но мне надо прервать выполнение команды top. В Microsoft DOS это делалось комбинацией клавиш ctrl+Break, в Убунте эта комбинация не срабатывает!
Спасибо!
Лучший ответ
Ctrl+C либо Ctrl+Z
MDMМыслитель (7244) 14 лет назад
ExclusiveУченик (180) 6 лет назад
Актуально для Kali Linux скана aircrack-ng?
Остальные ответы
Для топ q дадада вот так просто. Ну Ctrl+c
MDMМыслитель (7244) 14 лет назад
top просто так запустил? или со смыслом? если со смыслом, то запустить второй терминал вам не запрещали. В том и красота *nix-ов, что консолей может быть слишком много. Более того, и в одной консоли вы имеете право обзавестись массой шелов. C.м. man screen.
кое-что по поводу ps
Точно так же, как закончить команду man, просто нажмите q и всё
Похожие вопросы
как прервать выполнение команды в linux bash?
сразу скажу: команды timeout нету и нет возможности её установить =( например запускаю top или иную другую, которая непрерывно выводит данные , и хочу чтобы через секунду или тут же по получению данных без участия ctrl+c или ctrl+z или иных действий с клавиатуры команда делал одиночный вывод и прекращала свою работу
Отслеживать
задан 9 янв 2018 в 10:15
97 1 1 серебряный знак 6 6 бронзовых знаков
вместо top можно использовать ps или запустить top в batch режиме ( top -b или top -n 1 ).
9 янв 2018 в 10:22
top я для примера привел. увы, у меня есть команда, которая выводит одну строку непрерывно, никаких иных параметров нету . =( прервать её можно только по ctrl+c и все. а надо запустить программу и через секунду выйти обратно в шелл =(
9 янв 2018 в 10:27
man timeout : sudo apt-get install timeout; timeout 10 ping google.com Ну и свои велосипеды: mywiki.wooledge.org/BashFAQ/068
12 янв 2018 в 1:52
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Если что, всегда можно попробовать скопировать timeout с подходящей системы или написать свой на баше/перле. На SO есть ряд примеров. Вот самый маленький
#!/bin/sh ( your_command ) & pid=$! ( sleep $TIMEOUT && kill -HUP $pid ) 2>/dev/null & watcher=$! wait $pid 2>/dev/null && pkill -HUP -P $watcher
Если имя программы точно известно, то можно даже так
(sleep 3 && killall program) & ./program
Временная остановка выполнения процесса
В Linux есть возможность временной остановки выполнения процесса. После остановки процесс остается в оперативной памяти, его данные не теряются. Просто он не будет попадать в очередь на выполнения процессора. В любой момент можно продолжить его выполнение.
Для того, чтобы временно остановить выполнение процесса, ему следует послать сигнал STOP(19).
Например, чтобы остановить работающую программу top, ей посылается сигнал.
$ kill -STOP 18026 $ ps -t pts/1 -o pid,s,comm PID S COMMAND 18015 S bash 18026 T top $
Обратите внимание на поле состояние у процесса top, там стоит буква Т. Это значит, что выполнение процесса приостановлено.
В этом месте я должен был написать следующее: «Чтобы продолжить выполнение процесса, пошлите ему сигнал CONT(18)». Так вот, даже если Вы пошлете процессу сигнал CONT, он все равно остается в приостановленном состоянии. Почему так происходит? Дело в том, что данный процесс «привязан» к терминалу, поэтому он не будет реагировать на 18-й сигнал. И возобновлять его работу можно только при помощи средств, встроенных в шелл bash. На сигнал CONT будут реагировать только процессы, не «привязанные» к терминалу, например, процессы-демоны.
# ps -eo pid,s,comm | grep inetd 3743 S inetd # kill -STOP 3743 # ps -eo pid,s,comm | grep inetd 3743 T inetd # kill -CONT 3743 # ps -eo pid,s,comm | grep inetd 3743 S inetd #
Программа inetd — это демон, не «привязанный» к терминалу. Сначала ему был послан сигнал STOP, и он перешел в состояние Т. Затем ему послали сигнал CONT, и он вернулся в рабочее состояние (состояние S означает, что процесс ожидает какой-либо операции ввода-вывода, а значит, он находится в рабочем состоянии.).
В bash есть интересная встроенная возможность — Job control (управление заданиями). Пользователь может останавливать и продолжать выполнение программ. Оболочка «знает» о всех программах, запущенных при ее помощи, и может выдать полный список всех работающих программ. Для получения списка используют команду jobs.
jobs [-lnprs] [jobspec . ]
Но прежде, чем мы рассмотрим использование управления заданиями, разберемся с foreground (интерактивный) и background (фоновый) режимами работы программ.
Когда Вы обычным образом запускаете на выполнение программу, она занимает терминал, точнее, стандартный ввод, вывод и вывод ошибки, связанные с этим терминалом. Пока эта программа не завершит свою работу, Вы не сможете в нем выполнять новые программы, так как не будет доступна командная строка. Такой режим работы называют foreground.
Bash позволяет запускать программы в фоновом режиме. В этом случае, программа начинает работать параллельно оболочке, на экране появляется приглашение командной строки, и Вы сможете запускать другие программы.
Для того, чтобы запустить программу в фоновом режиме, в командной строке после указания всех параметров программы напишите символ &.
| Внимание! | Если программа, запущенная в фоновом режиме, попытается что-либо прочитать со стандартного ввода, ее выполнение будет временно прекращено. |
Jobs показывает только временно приостановленные и работающие в фоновом режиме программы. Также следует учитывать, что шелл (а jobs — это встроенная команда шелл) «видит» только те программы, которые были запущены из него. Если какая-то программа была запущена в фоновом режиме в другом терминале или другой программой, jobs текущего шелл не покажет эту программу в своем списке.
Для того, чтобы временно остановить выполнение программы, выполняющейся в foreground-режиме, достаточно нажать комбинацию клавиш Ctrl+Z. Процесс тут же будет приостановлен, и на экране появится приглашение командной строки. Например, во время работы программы top была нажата указанная выше комбинация клавиш. На экран будет выведено сообщение о приостановке выполнение программы:
[1]+ Stopped top $ ps -o pid,s,comm PID S COMMAND 20185 S bash 21231 T top 21238 R ps $
Если теперь запустить jobs, он покажет список приостановленных или выполняющихся в фоновом режиме программ.
$ jobs [1]+ Stopped top $
1 — это не PID, а внутренний номер программы. Если необходимо увидеть PID программ, тогда используйте параметр –p:
$ jobs -p 21231 $
Еще больше информации показывает jobs с параметром –l:
$ jobs -l [1]+ 21231 Stopped (signal) top $
Символ плюс означает последнюю остановленную программу, минус — предпоследнюю.
Чтобы продолжить выполнение программы в foreground-режиме, можно использовать команду fg. Для продолжения выполнения в фоновом режиме — bg. Обеим программам в качестве параметра можно указывать номер задания — число, которое выводит jobs. Если номер не указан, команда работает с последним процессом.
$ fg top top - 16:34:06 up 6:10, 1 user, load average: 0.00, 0.04, 0.09 Tasks: 74 total, 1 running, 73 sleeping, 0 stopped, 0 zombie Cpu(s): 1.8% us, 0.6% sy, 0.0% ni, 95.2% id, 2.3% wa, 0.0% hi, 0.0% si Mem: 246832k total, 243148k used, 3684k free, 5512k buffers Swap: 514072k total, 70760k used, 443312k free, 111332k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19357 artur 15 0 198m 48m 21m S 1.1 20.2 0:59.18 soffice.bin 4107 root 15 0 161m 21m 2280 S 0.7 8.9 6:42.39 X