Terminal z piekła rodem i ExplainShell.com

Nowi użytkownicy Linuksa prędzej czy później potykają się o kontrowersyjny terminal. Nawet i starsi mają z nim problemy. Nie to, żeby korzystanie z terminala w Linuksie było nieodzowną czynnością podczas naszych codziennych prac. Problem terminala polega na tym, że… Jest po prostu przydatny, funkcjonalny i pozwala przeprowadzić wiele zautomatyzowanych operacji o wiele bardziej wydajnie niż za pomocą myszki i jej przycisków. Dlatego na większości stron z poradami dla Linuksa zwykle podawany jest zestaw komend, które należy wkleić aby uzyskać opisywany efekt. A co jeśli ktoś nie chce bezmyślnie wklejać ciągu znaków których znaczenia nie rozumie? Wtedy należy skorzystać z ExplainShell.com.

ExplainShell.com
ExplainShell.com to internetowa witryna która rozbierze nam na czynniki pierwsze każdego polecenie terminalowe które tam wkleimy. Jest to możliwe dzięki zastosowanym tam skryptom Pythona, zindeksowanym 29761 stronom instrukcji systemowych (manpages, sekcje od 1 do 8) i sprytnemu algorytmowi, który zadbał o wyciągnięcie z instrukcji każdego parametru dla danego polecenia.

Zasada działania jest prosta – my wpisujemy/wklejamy polecenie i jego parametry a ExplainShell rozkłada to wszystko na czynniki pierwsze i opisuje co jest do czego. Tym sposobem utwierdzimy się w przekonaniu, że nie zrobimy naszemu systemowi krzywdy ale i nauczymy się co nieco. Może nie od razu będziemy recytowali wszystkie dostępne polecenia i ich parametry, lecz przynajmniej przyswoimy sobie specyfikę ich wykonywania, itp.

Wspomniana witryna używa jak już wspomniałem Pythona, ale również bashlex, NLTK, d3.js oraz Flaska. W sieci funkcjonuje dzięki serwerowi nginx. Calutkie źródła projektu znajdziemy na Githubie. Tam też umieszczono opis, jak uruchomić ExplainShell lokalnie. Czy to w Dockerze czy też bezpośrednio na naszym komputerze.