Polecenie history w systemie linux

2025-03-01 | Krzysiek

Zastanawiałem się od czego zacząć wpis o linuxowych komendach. Coś co napewno przydaje się w pracy administratora lub może przydać na początku nauki linuxa to polecenie history. Warto więc wiedzieć jak go używać w podstawowej formie.

Jak używać polecenia history w linux?

Historię poleceń w bash zaczniemy od jej wyświetlenia w całości.

history

Jeśli szukamy konkretnego polecenia w historii to można ją przekazać do grep.

history | grep ls

Do edytowanie plecenia z historii używamy strzałki w górę, wprowadzamy zmianę i znowu strzałka w górę lub w dół.

Wywołanie ostatniego polecenia:

!!

moze się przydać gdy zapomnieliśmy dodać do polecenia sudo i nie chcemy od nowa go wpisywać

sudo !!

Wywołanie konkretnego numeru komendy:

!numer komendy
!980

dla 4 poleceń wstecz:

!-4

Usuwanie

usuwanie pojedyńczego polecenia

history -d [numer polecenia do usunięcia]

history -d 10

usuwanie kilku wierszy

history -d 10 11 37 58

usuwanie od do

history -d 37-58

usuwanie całej historii sesji

history -c

usuwanie całej historii

echo > ~/.bash_history

natomiast skasowanie obydwu - pliku i zapisu sesji

echo > ~/.bash_history; history -c

Konfiguracja

Zmiany w konfiguracji historii wprowadzisz dodając poniższy kod do pliku startowego powłoki Bash, takiego jak ~/.bashrc lub ~/.bash_profile

Dodanie dat do wyświetlanej historii

echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile

Zmiana ilości zapisanych lini komend wpisanych w terminalu

# najpierw sprawdzamy obecną wartość
echo $HISTSIZE # ilość zapamiętana w sesji
echo $HISTFILESIZE # ilość zapisana do pliku historii (~/.bash_history)

# zmiana ilości
echo 'export HISTSIZE=1000' >> ~/.bash_profile
echo 'export HISTFILESIZE=10000' >> ~/.bash_profile

Jakie komendy ignorować w zapisie do historii

echo 'export HISTIGNORE="ls:ll:pwd:history"' >> ~/.bash_profile

Podsumowanie

Pokazałem dziś jak okiełznać historię w swoim terminalu, a przynajmniej jej fragment.

Samych ustawień i parametrów jest więcej. Ja pokazałem tutaj jedynie kilka.