Programowanie BASH

Używanie i dostosowywanie historii poleceń Bash

Używanie i dostosowywanie historii poleceń Bash
Powłoka bash jest domyślnym środowiskiem wiersza poleceń dostępnym w większości dystrybucji Linuksa. Podobnie jak we wszystkich środowiskach powłoki, przechowuje rejestr poleceń, które zostały wcześniej wykonane przez użytkownika. Ten zapis jest przechowywany i utrzymywany nawet po ponownym uruchomieniu naszego systemu.

Być może znasz podstawowe użycie polecenia historii, ale może ono zrobić o wiele więcej. Historia Bash jest zwykle przechowywana w pliku ~/.bash_history. Umożliwia przywołanie i ponowne wykorzystanie zapisanego rekordu w wydajny sposób, aby jak najlepiej wykorzystać funkcję zapisywania historii bash. Nie tylko to, ale możesz także dostosować 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ń basha, aby jak najlepiej wykorzystać jej funkcje.

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

Korzystanie z historii poleceń basha

1. Przeglądanie historii basha

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

$ historia

Wyświetli całą historię dla konkretnego użytkownika z pliku historii przechowywanego specjalnie dla tego użytkownika. Zobaczysz wszystkie polecenia zaczynające się od numeru przypisanego do każdego z nich. Wyświetli listę starszych poleceń na górze, zaczynając od numeru 1, a nowsze polecenia na dole.

2. Wyszukiwanie wyników historii

Możesz także wyszukać określone słowo kluczowe z danych wyjściowych historii. Sparuj polecenie historii z grep i określonym słowem kluczowym, aby wyszukać polecenia pasujące do określonego słowa kluczowego w następujący sposób:

$ historia | grep [słowo kluczowe]

Na przykład, aby wyświetlić listę wszystkich poleceń zawierających słowo kluczowe „znajdź”, polecenie to:

$ historia | grep znaleźć

3. Przeglądanie ostatnich n poleceń

Polecenie historii domyślnie wyświetla 1000 ostatnich poleceń wykonanych przez użytkownika. W przypadku, gdy chcesz wyświetlić tylko określoną liczbę, powiedzmy n numer ostatnio wykonanego polecenia, uruchom następujące polecenie w Terminalu:

$ historia n

Na przykład, aby wyświetlić listę ostatnich 7 wykonanych poleceń, polecenie to:

$ historia 7

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

$ historia | słowo kluczowe grep |tail -n

Przykładem może być wyświetlenie ostatnich 4 wykonanych poleceń ze słowem kluczowym „java”.

$ historia | grep java |ogon -n

4. Przeglądanie najstarszych poleceń

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

$ historia | głowa -n

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

$ historia | słowo kluczowe grep |head -n

Przykładem tego może być wyświetlenie najstarszych 4 wykonanych poleceń ze słowem kluczowym „java”.

$ historia | grep java | głowa -4

5. Całkowicie wyczyść historię Bash

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

$ historia -cw

Dostosowywanie historii poleceń basha

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

$ nano ~/.bashrc

Po zakończeniu modyfikowania 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

1. 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 pokaże historię poleceń z odpowiednimi danymi i znacznikiem czasu.

2. Zwiększanie rozmiaru historii Bash

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

Aby wyświetlić aktualny rozmiar historii bash, uruchom następujące polecenie w Terminalu:

$ echo $HISTSIZE

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

Aby zwiększyć rozmiar historii basha, 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

3. Dołącz polecenia Bash do pliku historii

Gdy sesja bash jest zamknięta, możesz wybrać, czy nadpisać, czy dołączyć 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 danych wyjściowych pokazuje, że opcja histappend jest włączona, a polecenia zostaną dodane do pliku historii zamiast nadpisywania. Gdy pokazuje się „off”, opcja histappend jest wyłączona, a plik zostanie nadpisany.

Otwórz ~/.plik bashrc i:

Dodaj następującą linię, jeśli chcesz dołączyć polecenia do pliku historii zamiast nadpisywania:

$ shopt -s histappend

Lub dodaj następujący wiersz, jeśli chcesz wyłączyć opcję dołączania i chcesz nadpisać plik przy wyjściu:

$ shopt -u histappend

4. Przechowuj historię Bash natychmiast

Bash domyślnie zapisuje sesję w pliku historii bash dopiero po zakończeniu sesji. Aby zmienić to domyślne zachowanie i sprawić, by natychmiast zapisywało każde wykonane polecenie, możesz użyć PROMPT_COMMAND.

Edytuj ~/.bashrc i dodaj następującą linię:

$ PROMPT_COMMAND='historia -a'

Teraz za każdym razem, gdy wykonasz jakiekolwiek polecenie, zostanie ono natychmiast dodane do pliku historii.

5. Kontroluj historię Bash

Możemy kontrolować sposób, w jaki bash zapisuje naszą historię poleceń za pomocą zmiennej HISTCONTROL. Możemy to określić, aby ignorować zduplikowane wpisy i/lub ignorować wpisy z wiodącymi białymi znakami.

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

$ export HISTCONTROL=ignorespace:ignoredups

6. Ignoruj ​​określone polecenia

Możemy również kontrolować, które polecenia ignorować w historii za pomocą zmiennej HISTIGNORE. Jest to rozdzielona dwukropkami lista wzorców, 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ącą linię w ~/.plik bashrc:

$ export HISTIGNORE="historia:ls:pwd:"

Dzięki historii poleceń bash w systemie Linux możesz zrobić znacznie więcej niż tylko powtarzanie starych poleceń. W tym artykule nauczyliśmy się używać historii basha do przeglądania poleceń, które zostały wcześniej wykonane, a także nauczyliśmy się kontrolować sposób, w jaki bash zapisuje historię poleceń.

Gry Zainstaluj najnowszą grę strategiczną OpenRA na Ubuntu Linux
Zainstaluj najnowszą grę strategiczną OpenRA na Ubuntu Linux
OpenRA to darmowy silnik gier strategicznych czasu rzeczywistego, który odtwarza wczesne gry Westwood, takie jak klasyczny Command & Conquer: Red Aler...
Gry Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Emulator Dolphin pozwala grać w wybrane gry Gamecube i Wii na komputerach osobistych z systemem Linux (PC). Będąc ogólnodostępnym emulatorem gier o o...
Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...