Prostsza konsola dzięki historii poleceń

Obsługa Linuksa z poziomu konsoli nie jest trudna. Wklepywanie poleceń na klawiaturze, nie ważne jak straszne, jest metodą prostą i skuteczną. Dodatkowo istnieje wiele ułatwień, które pozwalają użytkownikowi jeszcze bardziej usprawnić pracę z wierszem poleceń. A jednym z nich jest plik historii poleceń konsoli.

Jeśli używanym przez nas shellem jest bash, historia wpisywanych poleceń przechowywana jest w pliku ~/.bash_history. Z czasem może zawierać on kilka tysięcy wpisów, choć liczba ta determinowana jest przez plik konfiguracyjny ~/.bashrc. Znajdują się tam m.in. dwa wpisy:

HISTFILESIZE=2000

HISTSIZE=1000

Pierwszy z nich określa ilość zapisywanych w pliku .bash_history komend, drugi zaś charakteryzuje ilość wpisów, które zostaną załadowane do pamięci z możliwością ich przywołania w konsoli. Oczywiście przedstawione tu wartości liczbowe mogą się różnić, w zależności od systemu i istnieje możliwość ich samodzielnej modyfikacji.

Aby podejrzeć zawartość pliku historii, nie musimy go edytować czy nawet znać jego położenia. Wystarczy prosta komenda:

$ history

I historia wyświetla się w naszej konsoli.

Warto zwrócić tu uwagę na liczby opisujące każdą z komend – można wykorzystać je do jeszcze szybszego nawigowania po historii poleceń, o czym już za chwilę.

Dodając do komendy history parametr w postaci liczby, możemy określić ile ostatnich poleceń zostanie wyświetlonych na ekranie.

$ history 5

Możemy także wyszukać konkretnych wystąpień danej komendy w pliku historii, używając komendy grep.

$ history | grep ping

Użycie wykrzyknika pozwala nam za to na ponowne uruchomienie polecenia, które w pliku historii znajduje się w konkretnej linijce. Pamiętacie liczby umieszczone na początku każdej linijki po użyciu komendy history?

$ !8

Pojedynczy wykrzyknik może posłużyć także do przywołania ostatniej użytej komendy rozpoczynającej się od znajdujących się po nim znaków.

$ !hist

Ostatnią użytą komendę wywołujemy strzałką w górę lub skrótem klawiszowym ctrl + p, zaś ponowne użycie któregoś z tych sposobów pozwala nam przechodzić do kolejnych (starszych) komend. Oczywiście możliwa jest także nawigacja w drugą stronę – za pomocą strzałki w dół lub skrótu ctrl + n.

Użycie dwóch wykrzykników także przywołuje nam ostatnią użytą komendę, jednak może być ona dodatkowo rozbudowana przed uruchomieniem. Szczególnie dobrze sprawdza się, gdy np. zapomnimy dodać jakiegoś parametru lub polecenie jest niekompletne.

Tu warto także wspomnieć o możliwości korekty np. literówki, którą zrobiliśmy wydając poprzednią komendę. Możemy użyć symbolu ^, aby zmodyfikować wydaną wcześniej komendę, bez konieczności jej ponownego przepisywania w całości. To przydaje się szczególnie przy poleceniach dłuższych niż w poniższym przykładzie.

Czasami, posuwając się zbyt daleko w edycji komendy przywołanej z historii, chcemy wrócić do jej oryginalnej formy – dłuży do tego skrót alt + r.

Na koniec pozostaje nam jeszcze polecenie, które czyści plik historii.

$ history -c

Tych kilka możliwości, przedstawionych w powyższym tekście, może znacznie upłynnić pracę z konsolą. Należą one do najprostszych ułatwień, których użyteczność nie maleje mimo nabierania doświadczenia i lepszego poznawania systemu. A nawet więcej – ich użyteczność znacznie wzrasta wraz z umiejętnością posługiwania się trudniejszymi i bardziej złożonymi komendami. Dlatego warto je sobie utrwalić, chociażby poprzez przećwiczenie na najprostszych możliwych przykładach, a z czasem uzupełnić o inne jeszcze bardziej złożone możliwości, które odnajdziecie wpisując w konsoli man history.

1 komentarz
  1. Kilku rzeczy nie znałem, więc dzięki za douczenie mnie – ale jednej “wisienki na torcie” mi w tutaj brakuje. Moim zdaniem najużyteczniejsze jest “ctrl+r” – inkrementalne wyszukiwanie w historii poleceń – i w takim zestawieniu się powinno znaleźć 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Poprzedni post

Opublikowano ET: Legacy w wersji 2.77 Capture the City!

Następny post
SteamLink

Steam Link dostępny dla Linuksa

Powiązane posty