Jak używać CTRL R w systemie Linux

Jeśli używasz nowoczesnej powłoki bash, możesz użyć Ctrl + R jako skrótu klawiaturowego do przeszukiwania historii poleceń. Możesz wywołać polecenia, których użyłeś wcześniej i wydać je ponownie. Może to działać również w innych powłokach, na przykład jeśli używasz ksh w trybie emacs. Używając tej małej sztuczki, możesz znacznie przyspieszyć obciążenie wiersza poleceń.

Aby to zadziałało, musisz pracować z terminala. Przytrzymaj Ctrl, Alt i T, aby otworzyć jeden lub Super + T, jeśli twoje środowisko graficzne to obsługuje. Możesz także kliknąć menu Aplikacje, przejść do Narzędzia systemowe, a następnie kliknąć Terminal lub wyszukać go w Ubuntu Dash.

Metoda 1: użyj Ctrl + R, aby wyszukać polecenie

Po znaku zachęty bash przytrzymaj klawisz Ctrl i naciśnij R. Otrzymasz komunikat, który brzmi (reverse-i-search) ``:, a następnie kursor. Wpisz pierwszą literę polecenia, które wydałeś wcześniej, aby je znaleźć. Na przykład, jeśli użyłeś polecenia cat, aby spojrzeć na zawartość pliku tekstowego, naciśnij c. Jeśli używałeś cal do przeglądania kalendarza na miesiąc, to również może się pojawić.

Wciśnij Ctrl + R ponownie, aby przechodzić przez podobnie nazwane polecenia. Jeśli masz długą historię bash, możesz znaleźć wiele poleceń o podobnych nazwach. Po znalezieniu polecenia, które chcesz uruchomić, naciśnij klawisz Enter, a monit będzie wyglądał, jakbyś go właśnie wpisał i uruchomił. Nie będziesz musiał wpisywać całego polecenia, a zamiast tego tylko jedną lub dwie litery.

Możesz wpisać kilka liter, aby znaleźć dłuższe polecenie, które mogłeś wydać w przeszłości, a także pojawi się ono od razu w wierszu poleceń, a następnie możesz nacisnąć klawisz Enter, aby uruchomić je jak zwykle. To znacznie ułatwia proces wyszukiwania czegoś w Twojej historii. Gdy polecenie jest w linii, możesz również użyć klawiszy strzałek i edytować je przed uruchomieniem.

Jeśli myślisz lepiej o uruchomieniu polecenia, zawsze możesz ponownie przytrzymać klawisz Ctrl i nacisnąć C, aby anulować wyszukiwanie Ctrl + R, tak jak możesz anulować cokolwiek innego w wierszu poleceń terminala. Możesz użyć tej techniki po uruchomieniu dowolnego innego typu polecenia i pomimo tego, co mogą przeczytać niektóre strony internetowe, w rzeczywistości nie musisz się martwić, jakie dane wyjściowe są już w twoim terminalu, kiedy spróbujesz.

Metoda 2: Dodaj znacznik Ctrl R.

Jeśli chcesz powracać do często używanego polecenia raz za razem, możesz dodać do niego znacznik, komentując nazwę polecenia na końcu wiersza, w którym się znajduje. Wpisz polecenie, a po nim spację, a po nim wpisz #findme . Wciśnij enter i uruchom polecenie. Powłoka po prostu zignoruje tag #findme, ponieważ liczy się jako komentarz w języku programowania.

Teraz, kiedy tylko chcesz znaleźć to polecenie, przytrzymaj Ctrl + R i zacznij wpisywać #fin, aby pojawiło się od razu. Jeśli chcesz oznaczyć w ten sposób więcej niż jedno polecenie, po prostu wymyśl inne rzeczy, którymi możesz je oznaczyć. Możesz spróbować otagować # polecenie1, # polecenie2 i tak dalej, jeśli chcesz. W ten sposób możesz wpisać #com, a następnie kilkakrotnie nacisnąć Ctrl + R, aby znaleźć polecenie, którego szukasz. Działa to najlepiej, jeśli masz ogromną historię poleceń. Każdy tag pozostanie w historii, dopóki nie zostanie usunięty.

Metoda 3: Włączanie trybu emacs w ksh

Jeśli używasz ksh jako domyślnej powłoki, wpisz set -o emacs i naciśnij enter. To włączy tryb emacsa, który pozwoli ci użyć sztuczki Ctrl + R w taki sam sposób, w jaki pozwala na to bash. Działa to nieco inaczej, a użytkownicy powłoki bash nigdy nie będą musieli tego robić, więc większość programistów Linuksa może po prostu zignorować ten krok.

Użytkownicy preferujący ksh mogą teraz wcisnąć Ctrl + R, a powłoka wyświetli ^ R na ekranie. Wpisz zapytanie, a następnie naciśnij Enter. Zobaczysz najbliższy pasujący wpis, który możesz edytować lub uruchomić, ponownie naciskając enter. Nawiasem mówiąc, emacs udostępnia kilka innych opcji, takich jak normalna funkcjonalność klawiszy strzałek.