Как использовать 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

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

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

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

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

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

3 минуты на чтение