Jak szukać w mojej historii ZSH

Jak szukać w mojej historii ZSH

Większość z nas spędza czas w terminalu, uruchamiając polecenia, konfigurowanie serwerów, opracowywanie narzędzi i nie tylko. W niektórych przypadkach ciągle uruchamiamy podobne polecenia.

Chociaż możesz tworzyć skrypty do automatyzacji takich zadań, czasami polecenia mogą się nieznacznie różnić. Jeśli taki scenariusz się wydarzy, historia dowodzenia jest najlepszym sposobem na przejście.

Historia ZSH

Zsh to popularna skorupa zbudowana na bash. Przechowuje twoją historię poleceń w .plik Zsh_History w katalogu domowym.

Jeśli twoja powłoka ZSH nie obsługuje domyślnie historii poleceń, sprawdź nasz artykuł z Historii poleceń ZSH, aby dowiedzieć się, jak to włączyć.

Całkowita liczba poleceń, które polecenie ZSH może przechowywać w pliku historii, zależy od zmiennej $ Savehist.

Jak korzystać z historii poleceń ZSH

Teraz, gdy wiemy, że powłoka ZSH zapisuje twoje polecenia w pliku, pozwólmy, w jaki sposób możemy go użyć, aby ułatwić korzystanie z naszego terminala.

Aby wyświetlić wszystkie polecenia przechowywane w pliku historii ZSH, użyj polecenia historii.

Jeśli uruchomisz polecenie historii bez żadnych argumentów, ZSH wyświetli wszystkie polecenia przechowywane w pliku historii:

historia

Poniżej znajduje się przykład wyjścia:

38 Echo $ Histfile
39 Zsh

53 Historia
54 env
55 Cat .Zshrc

W większości przypadków polecenie historii wyświetli obszerną listę wszystkich wykonanych poleceń. Możesz przewrócić wyjście do poleceń, takich jak GREP, aby wyszukać określone pole lub mniej, aby łatwo je poruszać.

Historia | Grep Echo

Lub mniej:

Historia | mniej

Polecenie historii popiera także notację numeryczną. Na przykład, aby pokazać ostatnie n poleceń w pliku historii, użyj -n, gdzie n jest liczbą poleceń do wyświetlenia.

Na przykład, aby pokazać ostatnie 5 poleceń, możemy zrobić:

Historia -5

Aby pokazać z komendy nth, użyj +n.

Na przykład, aby pokazać historię od 10. polecenia do ostatniej, użyj polecenia jako:

Historia +10

Jak wyszukać historię poleceń ZSH

Chociaż polecenie historii może być przydatne do obejrzenia całej historii poleceń, nie jest to bardzo przydatne, gdy chcesz ponownie uruchomić poprzednie polecenie.

Skoncentrujmy się teraz na tym, jak możemy przeszukać historię polecenia i ponownie przeprowadzić poprzednie polecenie.

Strzałka w górę i w dół

Najczęstszym sposobem przeszukania historii polecenia jest użycie klawiszy strzałek w górę i w dół.

Strzałka w górę przewija twoją historię poleceń z najnowszych do najwcześniejszych. Po znalezieniu polecenia, które chcesz ponownie uruchomić, naciśnij Return, aby je wykonać.

Huk (!) Format

Innym sposobem przeszukania historii poleceń jest użycie wykrzyknika (!) ocena. Jeśli wpiszesz Double Bang (!!), uruchomi najbardziej poprzednie polecenie:

!!

Najczęstszym przypadkiem użycia tego formatu jest to, że zapominasz o uruchomieniu polecenia jako sudo. Na przykład, jeśli uruchomisz polecenie apt jako:

aktualizacja apt

Możesz ponownie uruchomić polecenie jako sudo za pomocą składni:

sudo !!

Powyższe zorganizuje polecenie apt jako sudo.

Jeśli biegniesz !n--gdzie n to liczba poleceń w historii polecenia-możesz uruchomić określone polecenie w pliku historii.

Na przykład, aby uruchomić 12. polecenie w historii polecenia, możesz zrobić:

!12

Jeśli nie możesz przypomnieć sobie liczby polecenia, które chcesz uruchomić, możesz użyć !format słowa, aby uruchomić polecenie, zaczynając od określonego słowa.

Na przykład, aby uruchomić polecenie, zaczynając od słowa printenv:

!Printenv

Powyższe polecenie uruchomi najnowsze polecenie, które pasuje do określonego słowa.

Wyszukiwanie rekurencyjne

Innym powszechnym sposobem przeszukania historii poleceń jest wyszukiwanie rekurencyjne. Aby go użyć, naciśnij Ctrl + R w sesji terminalowej. Zmieni to sesję terminali na tryb wyszukiwania i możesz wpisać poprzednie polecenia.

BCK-i-Search: _

Gdy wpisujesz, powłoka będzie szukała dopasowanego polecenia w historii i zasugeruje. Aby wyszukać następną propozycję dopasowania, naciśnij Ctrl + R.

Po znalezieniu pasującego polecenia naciśnij Return, aby je wykonać.

PRINTENV MIMP
BCK-i-Search: print_

Modyfikowanie zachowań historii ZSH

Chociaż nie przejdziemy przez wszystkie poprawki, które możesz wykonać, aby ulepszyć historię poleceń ZSH, przydatne są następujące informacje.

Aby wyczyścić swoją historię poleceń, użyj polecenia:

Historia -C

Powyższe daje wyjście wskazujące, że plik historii został wyczyszczony.

Usunięto plik historii.

Kolejną modyfikacją, jaką możemy zrobić, jest zmienna $ HistControl. Sprawdź dokumentację ZSH, aby dowiedzieć się więcej o tym. Możemy jednak powiedzieć ZSH, aby uniknął zapisywania zduplikowanych poleceń, dodając zmienną jako:

Eksport HistControl = IgnorredUps

Wniosek

W tym samouczku omówiono, jak pracować i używać historii dowodzenia ZSH, aby poprawić swoje doświadczenie terminalne. Omówiliśmy, jak przeszukać historię polecenia.

Dziękuję za przeczytanie!