26 września 2010

noisy-coder@blogspot.com: ~ $ cat mędrcy_linii_komend


Zacznę nietypowo:
  • sudo !!,  wykonuje poprzednie polecenie jednak w trybie super user, nie wymagając jego przepisywania
  • ipconfig /displaydns, możemy sprawdzić listę ostatnio resolvowanych adresów internetowych (żaden private mode nie pomoże)
  • telnet towel.blinkenlights.nl, wyświetli Ci film Stars Wars w konsoli 
  • cd -,  (na Linuksie) przenosi nas do katalogu w którym byliśmy poprzednio.  
To tylko parę bardzo ciekawych poleceń, o których jeszcze nie dawno nie miałem zielonego pojęcia. Konsola to potężne narzędzie niosące ze sobą wielkie możliwości. Nie od razu jednak takim narzędziem się stała. Długo ewoluowała, a historia jej powstania oraz jej początki w Polskiej rzeczywistości na pewno niektórych zaskoczą.



Jeżeliby zacząć szukać przyczyny z powodu której systemy operacyjne spod znaku pingwina nie zawojowały jeszcze świata, dość szybko spotkalibyśmy się z argumentem, że w Linuksach nie wszystko da się wyklikać. Bardzo wiele rzeczy trzeba robić w konsoli tekstowej. Co prawda sytuacja ta ciągle się poprawia i z wersji na wersje (opierając się na przykładzie Ubuntu) widać, że bez konsoli da się zrobić coraz więcej.

Jednak jak wszyscy wiemy(lub się dowiemy), konsola wcale nie jest wadą Linuksa, lecz jedną z jego największych zalet. Prawda jest taka, że jest to artefakt pochodzący z zamierzchłych czasów, a dokładniej z lat 50. ubiegłego wieku. Na długo przed powstaniem znanych nam dzisiaj systemów operacyjnych, wiersz poleceń zaczął podbijać świat komputerów. Pierwszy raz użyto go jako interfejsu do komunikacji z dalekopisem (TeleTYpe/TeleTYpewriter/TTY ) . Od tamtych czasów stawał się coraz bardziej popularnym sposobem komunikacji z komputerami. Jego rozwój nie był jednak oszałamiająco szybki. Wyobraźmy sobie, że dopiero pod koniec lat 60. na potrzeby maszyny SDS940 zaimplementowano mechanizm znany dziś jako command line completition. Dopiero dekadę później, w 1978 r. zaprezentowano światu konsole zdolną przechowywać historię wpisanych komend.

To jednak nie przeszkodziło temu interfejsowi zrobić oszałamiającej kariery. W połowie lat 70. powstał projekt wykorzystania tego interfejsu w mediach na szeroką skalę. Projekt odniósł wielki sukces i z rokiem 1989 dotarł nawet do Polski. O linii komend krążą plotki, że jest trudna w użyciu. Jednak ten pogląd należy konfrontować z faktem, że z tego interfejsu nauczyła się korzystać niemalże każda polska babcia. Bo czymże jest, jak nie konsolą tekstową doskonale nam znana telegazeta? :)

Gdy już mamy przedstawiony dowód na to, że dla każdej babci linia komend to "pryszcz" (więc i Ty jesteś w stanie nauczyć się z niej korzystać), czas bym spróbował przekonać Cię, że w tym (często monochromatycznym) magicznym tekstowym prostokącie kryje się tajemna moc.

Na czym polega przewaga konsoli tekstowej nad GUI? Czasem dostępu do poszczególnej funkcji systemu. Przewaga ta staje się jednak dopiero widoczna, przy liczbie funkcji, która nie pozwala na ergonomiczne rozmieszczenie odpowiednich przycisków i pozycji w menu. Jeżeli mnie pamięć nie myli, za pomocą telegazety można było się dostać do 899 stron (100-999). Nie da się stworzyć interfejsu, który z tyloma przyciskami byłby czytelny. Oczywiście, największa wada interfejsu konsolowego to potrzeba pamiętania poleceń. Tylko gdy znamy polecenia konsola może być narzędziem szybkiego dostępu. No ale jak już raz się nauczyliśmy, że telegazeta "dwójki" pod numerem 200 posiada(ła?) spis stron związanych ze sportem, pod numerem 210, spis stron związanych z piłką nożną, 211 - bieżącą kolejką ekstraklasy, 212 - tabelą ekstraklasy, a pod numerami 301-304 program emisji na dzień bieżący, to nagle się okazywało, że jest to najwygodniejszy i najszybszy dostęp do informacji. Nawet dekoracja prompta jest tak przydatna, że do tej pory ciągle niektórzy tak sprawdzają aktualną godzinę.

Kolejną jego zaletą są niskie wymagania sprzętowe. Mogło by się wydawać, że w dzisiejszych czasach nie musimy już oszczędzać bitów i liczyć każdej operacji, gdyż komputery i tak sobie z tym poradzą. Zawsze jednak jakoś znajduje się sytuacja, że nie chcemy/nie możemy wykorzystać więcej mocy obliczeniowej. Czasami trzeba ubić jakiś proces, innym razem trzeba łączyć się zdalnie z danym komputerem, a łącze nie rozpieszcza nas transferem byśmy mogli marnować na rozwiązania typu zdalny pulpit.

Największą jednak zaletą jest możliwość automatyzacji wszelkich działań za pomocą różnego rodzaju skryptów. To jest jednak temat na inny wpis.

Ten wpis jednak nie powstał po to, by wychwalać konsolę. Chciałbym tutaj zwrócić uwagę na jego największą wadę. Potrzebę znania poleceń i ich możliwości. Przeciętny system operacyjny zawiera zbyt wiele komend, by było możliwe nauczenie się ich, poprzez czytanie ułożonego alfabetycznie spisu. Tym bardziej, że człowiek zazwyczaj nabiera wprawy w używaniu danego polecenia, dopiero po parokrotnym jego zastosowaniu. Jak zatem zacząć uczyć się korzystania z linii komend? Na początek wystarczy chyba znać podstawy jak choćby takie komendy jak cd, dir/ls, by móc sprawnie poruszać się po katalogach systemu plików. Później wystarczy już tylko wiedzieć, że możemy dowiedzieć się o szczegóły każdego nam znanego polecenia wywołując dla niego helpa, czy podręcznik manuala.

na Windowsach
  • nazwa_polecenia /? - wyświetla pomoc dla zadanego polecenia

na Linuksach
  • man nazwa_polecenia - wyświetla stronę manuala
  • nazwa_polecenia --help - wyświetla pomoc dla danego polecenia (zazwyczaj o innej  treści i formacie niż man)
A skąd się dowiedzieć o tych najciekawszych poleceniach, jak te ze zwiastunu? Ostatnimi czasu subskrybuję swoim czytnikiem RSSa serwis http://www.commandlinefu.com/. Można tam znaleźć najciekawsze "jednolinijkowce". Na pierwszy rzut oka, dla kogoś niewprawionego serwis jest średnio przydatny. Wszakże przeciętny jednolinijkowiec jest przecież rozwiązaniem dla zaledwie jednego (i bardzo często) dość specyficznego problemu. To prawda, lecz najczęściej dany jednolinijkowiec składa się nie z jednego polecenia, lecz kombinacji kilku. Części z nich możemy nie znać, ale dzięki takim zbiorom, możemy się przyjrzeć do jakich zastosowań (oprócz tych nam znanych) przydają się innym. Jeżeli interesują nas zastosowania jednego konkretnego polecenia, to z pewnością znajdziemy je w tagach.

 


Każdy jednolinijkowiec jest oceniany przez użytkowników serwisu. Łatwo jest więc ocenić, na który ze znalezionych okazów warto rzucić dokładniej okiem. Sortując po ilości głosów wszystkie wpisy można podziwiać prawdziwe perełki.


Jeżeli Wy znaleźliście jakiś inny dobry sposób na naukę nowych komend konsoli, to z chęcią poznam Wasze rady :)

noisy-coder@blogspot.com: ~ $ cat feeds
 rss/atom - http://feeds.feedburner.com/noisy-coder

noisy-coder@blogspot.com: ~ $_ 
Related Posts Plugin for WordPress, Blogger...

Brak komentarzy:

Publikowanie komentarza