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 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.
Dzięki, nie wiedziałem że istnieje takie cudo. Co prawda zwykle rozumiem, co kopiuję, ale na wszelki wypadek zawsze może się przydać 😉
Ciekawa strona. Przyda się. Dodane do zakładek 🙂
Przypomniało mi to mój dawny, zapomniany projekt o nazwie partneship. Chyba do dziś jest dostępny na sourceforge. Idea była inna – był to preprocesor specjalnego języka, który wypluwał listę poleceń do wykonania, a użytkownikowi tłumaczył, co polecenia zrobią mu z systemem i jaki jest stopień ryzyka wykonania tych poleceń. Jeżeli partnership czegoś nie rozpoznał, to automatycznie stopień ryzyka był największy. Wszyscy twierdzili, że coś takiego jest niemożliwe do zrealizowania, a więc zrezygnowałem.