Как использовать CTRL R в Linux

Если вы используете современную оболочку bash, вы можете использовать Ctrl + R в качестве сочетания клавиш для поиска в истории команд. Вы можете вызывать команды, которые использовали ранее, и вводить их снова. Это может работать и в других оболочках, например, если вы используете ksh в режиме emacs. Вы действительно можете значительно ускорить рабочую нагрузку командной строки, используя этот небольшой трюк.

Чтобы это сработало, вам нужно будет работать с терминала. Удерживайте Ctrl, Alt и T, чтобы открыть один, или Super + T, если ваша среда рабочего стола поддерживает это. Вы также можете щелкнуть меню «Приложения», перейти к «Системным инструментам», а затем щелкнуть «Терминал» или найти его в Ubuntu Dash.

Метод 1. Используйте Ctrl + R для поиска команды

В командной строке bash, удерживая клавишу Ctrl, нажмите R. Вы получите сообщение, которое читает (reverse-i-search) `':, за которым следует курсор. Введите первую букву команды, которую вы ввели ранее, чтобы найти ее. Например, если вы использовали команду cat для просмотра содержимого текстового файла, нажмите c. Если вы использовали cal для просмотра календаря на месяц, это тоже может появиться.

Снова нажмите Ctrl + R, чтобы просмотреть команды с похожими названиями. Если у вас длинная история bash, вы можете найти несколько команд с похожими именами. Как только вы найдете команду, которую хотите запустить, нажмите клавишу ввода, и ваше приглашение будет выглядеть так, как будто вы только что ввели ее и запустили. Вам не нужно будет вводить полную команду, вместо этого нужно будет вводить только одну или две буквы.

Вы можете ввести несколько букв, чтобы найти более длинную команду, которую вы, возможно, вводили в прошлом, и она тоже сразу появится в командной строке, и затем вы можете нажать Enter, чтобы запустить ее, как обычно. Это значительно упрощает процесс поиска чего-либо в вашей истории. Когда команда находится в строке, вы также можете использовать клавиши со стрелками и редактировать ее перед запуском.

Если вы лучше думаете о запуске команды, вы всегда можете снова удерживать клавишу Ctrl и нажать C, чтобы отменить поиск Ctrl + R, точно так же, как вы можете отменить что-либо еще в командной строке терминала. Вы можете использовать эту технику после выполнения любого другого типа команд вообще, и, несмотря на то, что некоторые веб-сайты могут читать, вам на самом деле не нужно беспокоиться о том, какой вид вывода уже находится внутри вашего терминала, когда вы попробуете это.

Метод 2: добавьте тег Ctrl R

Если вы хотите снова и снова возвращаться к часто используемой команде, вы можете добавить к ней тег, закомментировав имя команды в конце строки, на которой она находится. Введите команду с пробелом, а затем введите #findme . Нажмите Enter и запустите команду. Оболочка просто проигнорирует тег #findme, поскольку он считается комментарием языка программирования.

Теперь, когда вы захотите найти эту команду, удерживайте Ctrl + R и начинайте набирать #fin, чтобы она всплывала вверх. Если вы хотите пометить таким образом более одной команды, просто придумайте другие вещи, чтобы пометить их. Вы можете попробовать пометить тегами # command1, # ​​command2 и так далее, если хотите. Таким образом вы можете ввести #com, а затем несколько раз нажать Ctrl + R, чтобы найти команду, которую вы ищете. Это лучше всего работает, если у вас обширная история команд. Каждый тег останется в истории до тех пор, пока он не будет очищен.

Метод 3: Включение режима emacs в ksh

Если вы используете ksh в качестве оболочки по умолчанию, введите set -o emacs и нажмите Enter. Это включит режим emacs, который позволит вам использовать трюк Ctrl + R так же, как это позволяет bash. Он работает немного иначе, и пользователям оболочки bash никогда не придется это делать, поэтому большинство программистов Linux могут просто проигнорировать этот шаг.

Пользователи, которые предпочитают ksh, могут сейчас нажать Ctrl + R, и оболочка напечатает ^ R на экране. Введите поисковый запрос и нажмите Enter. Вы увидите наиболее подходящую запись, которую можно отредактировать или запустить, снова нажав клавишу ВВОД. Кстати, в emacs есть несколько других опций, таких как обычные клавиши со стрелками.