Wszyscy wiedzą (lub powinni wiedzieć!), Że na terminalu klawisze strzałek w górę i w dół służą do poruszania się po historii używanych poleceń.
Podczas codziennego korzystania z terminala historia poleceń prawdopodobnie będzie długą listą wielu różnych poleceń, co utrudni nawigację. Jako przykład, powiedzmy, że miesiąc temu użyłem iwconfig
z określonym zestawem parametrów (jak powiedziałem, to tylko przykład, nie muszę teraz z tym bałagać), jak mogę przywołać to konkretne polecenie z wszystkimi argumentami i parametrami bez konieczności przeglądania setek poleceń historii?
Wiem, że mógłbym użyć history
listy poprzednio używanych poleceń i !n
ponownie wykonać polecenie n na tej liście, ale kiedy historia się powiększa, nie jest to również zbyt praktyczne.
Idealną rzeczą byłoby mieć coś, co pozwoli mi użyć jakiegoś skrótu do nawigacji po historii, ale tylko między instancjami zawierającymi to, co już wpisałem w wierszu poleceń; więc w moim przykładzie, po wpisaniu iwconfig
, użyj kilku klawiszy (może PgUp i PgDown?), aby poruszać się po wpisach zaczynających się od iwconfig .
Jeśli nie jest to możliwe, fajnie byłoby również wydrukować listę typu history
do, ale będzie ona zawierała tylko to, co już wpisałem (podejrzewam, że dotyczy to polecenia history
i grep
polecenia, ale nie jestem pewien, czy jest poprawna składnia); ale poprzednie rozwiązanie skrótów byłoby najlepszą opcją.
źródło
iwconfig
, pokaże mi instancję, która ją zawiera (niekoniecznie najnowszą), ale jeśli użyję klawiszy strzałek, przejdzie przez wszystkie elementy, nie tylko te, które zawierają ciąg. Wydaje mi się, że wybiera konkretny punkt w historii, od którego ma się rozpocząć nawigacja (zamiast zaczynać od dołu, jak robi to klawisz w górę), ale poza tym nawigacja jest taka sama jak zawsze. Przegapiłem coś?konsole
emulatora terminala.Po odrobinie praktyki odkryłem, jak korzystać z rozwiązania tego obejścia.
Dopasowałem poprawną składnię, aby wydrukować przefiltrowaną listę, zrobiłem to
history | grep iwconfig
(wcale nie było takie trudne); z wyjściem, którego mogę użyć!n
z teraz łatwą do odczytania przefiltrowaną listą.źródło
!n:p
. Spowoduje to wydrukowanie starego polecenia bez jego wykonania i przywrócenie go do historii. Następnie przejdź do niego jednym pociągnięciem strzałki w górę, a teraz możesz go edytować. Istnieje wiele innych głupich sztuczek, takich jak to: ss64.com/bash/history.htmlNie mogę skomentować odpowiedzi Stefana, ale zwykle musisz naciskać Ctrl + R. Zobacz tę stronę, aby uzyskać więcej informacji.
źródło
Naciśnij „ctrl + r”, a następnie wprowadź szukany ciąg.
Jeśli nie ten, którego szukasz Następnie ponownie „ctrl + r”
Jeśli znaleziono, naciśnij Enter, aby go wykonać Lub naciśnij strzałkę w prawo ->, aby go edytować przed użyciem.
źródło