Poprawienie codziennej pracy z CLI

htop vs top

Pracując codziennie na konsoli/CLI, warto sobie tą pracę usprawnić. Efekty mogą być niezauważalne na pierwszy rzut oka, ale potem wracając do standardowego basha, dopiero widzimy jak te zmiany nam usprawniają pracę z CLI.

cli zsh

ZSH – CLI w wersji PRO.

Każdy terminal powinien być wygodny w użytkowaniu, pozwolić na szybkie uzyskanie odpowiednich informacji, być wygodne i przyspieszać nasze poruszanie się po systemie.

Jednakże zacznijmy od początku. Ja nie wyobrażam sobie pracy bez skorzystania z ZSH (alternatywa dla bash’a) oraz z framework’a oh-my-zsh. ZSH łatwo zainstalować, bo jest praktycznie w każdym standardowym repozytorium, więc instalacja jest całkiem standardowa. Na początek instalujemy powłokę z repozytorium. Zależnie od systemu:

Instalacja jest bardzo prosta, więc nie ma sensu się rozpisywać. Kolejnym etapem jest zainstalowanie Oh-My-ZSH. Dla mnie jest to framework, który zmienił moje postrzeganie konsoli ze smutnego klepania komend, do praktycznej pracy.

Instalacja tym razem jest podobnie utrudniona – aż jedna linijka kodu:

Pluginy do ZSH

ZSH wraz z Oh-My-ZSH jest podstawą, a jak wiadomo – podstawowe rozwiązania nie są idealne, jednak społeczność się nie poddała i przygotowała fenomenalną ilość pluginów! Do instalacji pluginów zalecam skorzystać z antigen, który to jest menadżerem pluginów do ZSH. Dzięki niemu łatwo zainstalujemy i zaktualizujemy wszelkie pluginy i themes.

Działa jak na powyższym nagraniu.

Osobiście uruchamiam pluginy, dodając je w pliku:

Moja lista pluginów, które korzystam:

Zaś pozostałe pluginy i możliwości ZSH oraz Oh-my-zsh znajdziecie na stronie Awesome ZSH.

Alternatywne aplikacje w CLI

Każdy z nas zna aplikacje, będące podstawą CLI, czyli takie jak grep, cat, czy awk. Użytkowanie ich jest formą must-have w obsłudze systemów operacyjnych na poziomie profesjonalnym poprzez konsolę, tak samo jak wiele innych narzędzi. Jednak czasem ich użytkowanie można ułatwić.

bat > cat

Na początek może użytkowanie cat’a. Aplikacja wyświetla zawartość pliku, jednak brakuje tam wielu funkcjonalności.

bat vs cat

Jak widać na obu obrazkach, bat jest nieco ładniejszy i wygodniejszy. Instrukcja instalacji jest na stronie repozytorium: https://github.com/sharkdp/bat

htop > top

Jak sprawdzić wygodnie listę procesów i zajęte zasoby? top’em! Wpisujemy top i jest ładna lista procesów. Jednak można to usprawnić i wykorzystać htop!

htop vs top

htop już jest łatwiejszy do zainstalowania niż bat, gdyż praktycznie każde std::repo posiada htop w swoich zasobach 🙂

ncdu > du

Nienawidzę liczenia zajętości katalogów. Jest to nudne, smutne i niestety czasem trzeba. Jednak łatwiejsza i wygodniejsza, a nawet szybsza forma liczenia zajętości katalogów to aplikacja ncdu.

Instalacja ponownie z repozytorium, więc nie będę już podawać linijek CLI 🙂

cht.sh > man

Dokumentacja komend jest przydatna, tak samo jako flaga –help w komendach przez CLI. Jednak man się długo czyta, a –help jest zwykle zbyt ubogi. Więc przychodzi na pomoc cht.sh! Ten projekt ułatwia nam przypomnienie sobie komend, przykładowo:

cht.sh man

Warto sobie utworzyć skrypt ~/bin/cht i tam dodać następującą linijkę:

I wtedy wystarczy wpisać “cht curl” i dostaniemy informację, taka jak na obrazku powyżej.

Podsumowanie

Jest jeszcze wiele innych narzędzi i z czasem tą listę rozbuduję, o ile oczywiście będzie pozytywny odzew 🙂 Sama lista jest stosunkowo krótka, jednakże celowo ominąłem kilka narzędzi, typu fd, diff-so-fancy, czy fzf. FD pominąłem dlatego, że nie widzę sensu z tego korzystać często, więc warto poznać find. diff-so-fancy jest dobre do pracy z git’em, jednak ja z tego nigdy nie korzystałem jakoś specjalnie, pozostałem przy standardowym diff. Tak samo fzf wymaga dużo konfiguracji, a jednak większość komend i tak pamiętam lub grepuję .zsh_history 🙂

Jeśli macie jakieś swoje typy, dajcie znać w komentarzu.