Korzystanie i dostosowywanie historii poleceń bash

Korzystanie i dostosowywanie historii poleceń bash
Shell Bash to domyślne środowisko wiersza poleceń dostępne w większości dystrybucji Linux. Podobnie do wszystkich środowisk powłoki, prowadzi rekord poleceń, które zostały wcześniej wykonane przez użytkownika. Ten zapis jest przechowywany i utrzymywany, nawet uruchomimy nasz system.

Być może znasz podstawowe użycie polecenia historii, ale może to zrobić znacznie więcej. Historia bash jest zwykle przechowywana w pliku ~/.bash_history. Umożliwia przypomnienie i ponowne wykorzystanie przechowywanego rekordu w efektywny sposób, aby jak najlepiej wykorzystać funkcję oszczędzania historii Bash. Nie tylko to, ale możesz również dostosowywać i kontrolować wyjście polecenia Bash w sposób, w jaki chcesz.

W tym artykule wyjaśnimy, jak skutecznie używać i dostosowywać historię poleceń Bash, aby w pełni wykorzystać jego funkcje.

Użyliśmy Debiana 10 do uruchamiania poleceń i procedur wymienionych w tym artykule.

Korzystanie z historii poleceń Bash

Oglądanie historii Bash

Aby wyświetlić całą historię poleceń Shell, możesz uruchomić następujące polecenie w terminalu:

$ History

Wymieści całą historię dla konkretnego użytkownika z pliku historii zapisanego specjalnie dla tego użytkownika. Zobaczysz wszystkie polecenia zaczynające się na liczbę przydzieloną do każdego z nich. Wymieści starsze polecenia u góry, zaczynając od numeru 1 i nowszych poleceń na dole.

Poszukiwanie wyników historii

Możesz także wyszukać konkretne słowo kluczowe z wyników historii. Połącz polecenie historii z GREP i konkretne słowo kluczowe, aby wyszukać polecenia, które pasują do określonego słowa kluczowego w następujący sposób:

$ HISTORIA | grep [słowo kluczowe]

Na przykład, aby wymienić wszystkie polecenia zawierające słowo kluczowe „Znajdź”, poleceniem byłoby:

$ HISTORIA | Znajdź grep

Przeglądanie ostatnich n poleceń

Polecenie historii domyślnie wymienia ostatnie 1000 liczby poleceń wykonanych przez użytkownika. W przypadku, gdy chcesz wymienić tylko konkretny numer, powiedzmy N Numer ostatniego wykonanego polecenia, uruchom następujące polecenie w terminalu:

$ History n

Na przykład, aby wymienić ostatnie 7 wykonanych poleceń, poleceniem byłoby:

Historia $ 7

Aby wyświetlić liczbę ostatnich poleceń n uruchom, które zawierają określone słowo kluczowe, możesz użyć następującej składni:

$ HISTORIA | słowo kluczowe GREP | ogon -n

Przykładem byłoby wyświetlenie ostatnich 4 wykonanych poleceń za pomocą słowa kluczowego „Java”.

$ HISTORIA | Grep Java | Tail -n

Przeglądanie najstarszych poleceń

Aby wyświetlić najstarszą N Liczbę poleceń, możesz użyć następującej składni w terminalu:

$ HISTORIA | głowa -n

Aby wyświetlić najstarszą N liczbę poleceń zawierających określone słowo kluczowe, użyj następującej składni:

$ HISTORIA | słowo kluczowe GREP | Head -n

Przykładem byłoby wyświetlenie najstarszych 4 wykonanych poleceń za pomocą słowa kluczowego „Java”.

$ HISTORIA | Grep Java | Head -4

Całkowicie wyraźna historia Bash

Aby usunąć całą historię Bash, uruchom następujące polecenie w terminalu:

$ HISTORIA -CW

Dostosowywanie historii poleceń Bash

Aby dostosować historię poleceń Bash, będziemy musieli wprowadzić zmiany w ~/.plik bashrc. Aby edytować ~//.plik bashrc, użyj następującego polecenia:

$ nano ~/.Bashrc

Po zakończeniu modyfikacji pliku użyj Ctrl+O i Ctrl+X, aby zapisać i zamknąć edytor Nano.

Następnie uruchom następujące polecenie, aby zastosować modyfikacje:

$ źródło ~/.Bashrc

Dodaj datę i znacznik czasu do historii Bash

Jeśli chcesz wyświetlić datę i znacznik czasu wraz z historią poleceń, możesz to zrobić, dodając następujący wiersz w ~/.bashrc:

$ Export HisttimeFormat = ' %f, %t'

Teraz uruchom historia polecenie i to wyświetli historię poleceń z odpowiednimi danymi i znacznikiem czasu.

Rosnące rozmiar historii Bash

Bash domyślnie przechowuje 500 poleceń na liście historii. Możemy jednak zmienić tę wartość za pomocą wartości historycznej.

Aby wyświetlić bieżący rozmiar historii BASH, uruchom następujące polecenie w terminalu:

$ echo $ histsize

Podobnie domyślny rozmiar pliku historii Bash wynosi 500. Jest to maksymalna liczba wpisów zawartych w pliku historii.

Aby zwiększyć rozmiar historii Bash, powiedzmy 10000, dodaj następujące wiersze w ~/.plik bashrc:

$ Histsize = 10000
$ HistfileSize = 10000

Aby sprawdzić, czy rozmiar historii BASH zmienił się pomyślnie, uruchom następujące polecenia w terminalu:

$ echo $ histsize
$ echo $ histfileSize

Dołącz polecenia bash do pliku historii

Po zamknięciu sesji BASH możesz wybrać, czy zastąpienie, czy dołącz polecenia w pliku historii za pomocą zmiennej Histappend. Aby wyświetlić bieżące ustawienia, uruchom następujące polecenie w terminalu:

$ Shopt Histappend

„ON” w wyjściu pokazuje, że opcja Histappend jest włączona, a polecenia będą dołączone do pliku historii zamiast nadpisywać. Podczas gdy pokazuje „OFF”, opcja Histappend jest wyłączona, a plik zostanie zastąpiony.

Otwórz ~/.plik bashrc i:

Dodaj następujący wiersz, jeśli chcesz dołączyć polecenia do pliku historii zamiast nadpisywać:

$ shopt -s histappend

Lub dodaj następujący wiersz, jeśli chcesz wyłączyć opcję Dodatek i chcesz zastąpić plik w wyjściu:

$ shopt -u histappend

STEP BASH HISTORIA Natychmiast

Bash domyślnie zapisuje sesję tylko do pliku historii Bash po zakończeniu sesji. Aby zmienić to domyślne zachowanie i sprawić, aby natychmiast zapisać każde wykonane polecenie, możesz skorzystać z montażu_command.

Edytuj ~//.plik bashrc i dodaj następujący wiersz:

$ Mipt_command = „History -a”

Teraz, gdy wykonasz dowolne polecenie, zostanie ono natychmiast dodane do pliku historii.

Kontrola historii Bash

Możemy kontrolować sposób, w jaki Bash zapisuje naszą historię poleceń za pośrednictwem zmiennej HistControl. Możemy to określić, aby zignorować zduplikowane wpisy i/lub zignorować wpisy z wiodącymi białymi przestrzeniami.

  • ignorspace - eliminuje polecenia, które zaczynają się od listy historii przestrzeni.
  • Ignorowane - eliminuj zduplikowane polecenia.
  • ignoreboth - włącz zarówno ignorowane i ignorowanie
  • usuwane- eliminuj duplikaty z całej listy

Aby zastosować te funkcje, otwórz ~/.bashrc i dodaj następującą wiersz z wartościami oddzielonymi okrężnicy w następujący sposób:

$ Export HistControl = ignorSpace: IgnorredUps

Zignoruj ​​określone polecenia

Możemy również kontrolować, które polecenia należy zignorować w historii za pomocą zmiennej histignore. Jest to lista wzorców oddzielona od okręgu, w której możemy określić wszystkie polecenia, które chcemy zignorować z historii.

Na przykład, jeśli nie chcemy wymieniać podstawowych poleceń, takich jak History, LS, PWD na liście historii, dodajemy następujący wiersz w ~/.plik bashrc:

$ Export Histignore = "History: LS: PWD:"

Dzięki historii poleceń Linux Bash możesz zrobić znacznie więcej niż tylko powtarzanie starych poleceń. W tym artykule nauczyliśmy się, jak korzystać z historii bash, aby przeglądać polecenia, które wcześniej wykonały, a także nauczyli się kontrolować sposób, w jaki Bash zapisuje historię poleceń.