Polecenie history w systemie Linux (Bash History) ⋆ ALexHost SRL

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills
10.12.2024
No categories

Polecenie history w systemie Linux (Bash History)

Polecenie history w systemie Linux jest potężnym narzędziem dla użytkowników pracujących z powłoką Bash. Śledzi ono poprzednio wykonane polecenia, umożliwiając użytkownikom przeglądanie, przywoływanie, a nawet ponowne wykonywanie poleceń bez konieczności ich ponownego wpisywania. Może to znacznie zwiększyć produktywność, oszczędzając czas i zmniejszając ryzyko popełnienia błędów podczas ponownego wpisywania długich poleceń.

Czym jest Bash History?

Bash, podobnie jak wiele innych powłok, przechowuje zapis wprowadzonych poleceń w pliku historii. W większości dystrybucji Linuksa historia ta jest przechowywana w pliku o nazwie .bash_history w katalogu domowym każdego użytkownika (~/.bash_history). Domyślnie każde polecenie wprowadzone w powłoce jest dołączane do tego pliku po zakończeniu sesji, umożliwiając użytkownikom ponowne odwiedzenie poleceń z poprzednich sesji.

Podstawowe użycie polecenia history

Polecenie history jest proste w użyciu i zapewnia różne sposoby przeglądania i interakcji z historią poleceń. Oto niektóre z najczęstszych zastosowań:

  • Wyświetlanie historii poleceń:
    Uruchomienie polecenia history bez żadnych argumentów spowoduje wyświetlenie listy ostatnio wprowadzonych poleceń wraz z numerem obok każdego polecenia.

    historia

    Spowoduje to wyświetlenie ostatnich n poleceń, gdzie n wynosi zazwyczaj około 500 lub 1000, w zależności od konfiguracji systemu.

  • Określanie liczby poleceń:
    Można ograniczyć liczbę wyświetlanych poleceń, określając ich liczbę. Na przykład, aby zobaczyć 10 ostatnich poleceń:

    history 10

Przywoływanie poleceń z historii

Polecenie historii umożliwia również łatwe przywołanie i ponowne użycie wcześniej wykonanych poleceń:

  • Użycie notacji ! (Wykrzyknik):
    Umożliwia to ponowne wykonywanie poleceń bezpośrednio z historii:

    • !! – Ponownie uruchamia ostatnio wykonane polecenie.
      !!
    • !n – uruchamia polecenie na pozycji n na liście historii.
      !42

      Powoduje ponowne wykonanie polecenia znajdującego się na pozycji 42 w historii.

    • !string – Znajduje najnowsze polecenie zaczynające się od string i wykonuje je.
      !git

      Spowoduje to wykonanie najnowszego polecenia zaczynającego się od git.

  • Używanie klawiszy strzałek:
    Za pomocą klawiszy strzałek w górę i w dół można przewijać poprzednie polecenia bezpośrednio w terminalu. Jest to szczególnie przydatne do szybkiego wyszukiwania ostatnich poleceń.

Edytowanie i modyfikowanie historii

  • Usuwanie określonych wpisów:
    Określone polecenie można usunąć z historii za pomocą polecenia history -d, po którym następuje numer wiersza:

    history -d 42

    Spowoduje to usunięcie polecenia w wierszu 42 na liście historii.

  • Wyczyść całą historię:
    Aby usunąć wszystkie polecenia z pliku historii, użyj:

    history -c

    Spowoduje to wyczyszczenie historii dla bieżącej sesji. Aby wyczyścić również zapisaną historię w ~/.bash_history, nadpisz plik:

    history -c && > ~/.bash_history

Konfigurowanie historii Bash

Zachowanie historii można dostosować za pomocą zmiennych środowiskowych i ustawień konfiguracyjnych w plikach ~/.bashrc lub ~/.bash_profile:

  • HISTSIZE:
    Ta zmienna kontroluje, ile poleceń jest przechowywanych w pamięci podczas sesji. Na przykład, aby zachować 1000 poleceń:

    export HISTSIZE=1000
  • HISTFILESIZE:
    Ta zmienna ustawia liczbę linii (poleceń), które są zapisywane w pliku ~/.bash_history. Na przykład:

    export HISTFILESIZE=2000

    Oznacza to, że 2000 poleceń zostanie zachowanych w pliku historii nawet po wylogowaniu.

  • HISTCONTROL:
    Ta zmienna określa sposób przechowywania poleceń. Typowe opcje obejmują:

    • ignoredups – Zapobiega dodawaniu zduplikowanych poleceń do historii.
    • ignorespace – polecenia zaczynające się od spacji nie są dodawane do historii.
    • ignoreboth – łączy ignoredups i ignorespace.

    Przykład ustawienia HISTCONTROL na ignorowanie duplikatów:

    export HISTCONTROL=ignoredups
  • HISTTIMEFORMAT:
    Aby dołączyć znacznik czasu do każdego wpisu historii, ustaw HISTTIMEFORMAT:

    export HISTTIMEFORMAT="%F %T "

    Spowoduje to poprzedzenie każdego wpisu historii datą (%F) i godziną (%T).

Przeszukiwanie historii

  • Wyszukiwanie wsteczne z Ctrl r:
    Jednym z najskuteczniejszych sposobów wyszukiwania poleceń w historii jest użycie Ctrl r. Zacznij wpisywać część polecenia, a Bash znajdzie pasujące polecenia podczas pisania. Ponowne naciśnięcie Ctrl r spowoduje przejście przez poprzednie dopasowania.
  • Grep z historią:
    Możesz także użyć grep do przeszukiwania danych wyjściowych historii:

    history | grep git

    Spowoduje to wyświetlenie wszystkich poleceń zawierających słowo git.

Wnioski

Polecenie historii jest fundamentalną częścią pracy z powłoką Bash, oferując sposób na śledzenie poprzednich poleceń i usprawnienie przepływu pracy. Dzięki możliwości przywoływania, przeszukiwania i dostosowywania historii poleceń, pomaga ono uczynić operacje wiersza poleceń bardziej wydajnymi i przyjaznymi dla użytkownika. Opanowując historię i powiązane z nią funkcje, użytkownicy mogą znacznie przyspieszyć swoją pracę w środowiskach Linux.

Test your skills on our all Hosting services and get 15% off!

Use code at checkout:

Skills