Bug Online

Operativni sustavi - Windows "Monad" Shell Beta 2

Monadologija naredbenog retka

Nova Microsoftova komandna ljuska kodnog imena Monad Shell (MSH) snažno se oslanja na upravljani (engl. managed) objektno-orijentirani pristup koji je u operativne sustave Windows na velika vrata ušao pojavom .NET Frameworka. I zaista, prvo što ćemo opaziti kada instaliramo MSH je činjenica da se radi o upravljanoj aplikaciji koja neće funkcionirati ukoliko na računalu nismo prethodno instalirali .NET Framework 2.0. Ali, ne samo da je ljuska MSH interno sagrađena od .NET objekata, ona i u interakciji s korisnikom pokazuje svoje objektno-orijentirano lice i upravo to je najveća novina.

Sve je isto ko i lani?
Kada prvi put pokrenemo MSH, vjerojatno ćemo poželjeti isprobati kako rade dobro nam poznate naredbe poput dir, cd, ipconfig itd. Naravno, MSH prepoznaje sve te naredbe i one će se uredno izvršiti. No, iskusno oko odmah će uočiti razlike. Na primjer, ispis koji generira naredba dir izgleda ponešto drugačije od ispisa koji bismo dobili da smo istu naredbu otkucali u staroj komadnoj liniji (vidi sliku 1).
Netko će reći: "Pa što onda? Samo su malo promijenili ispis datoteka i direktorija, ali to je u biti jedno te isto!".
Međutim, to nije tako. Iako na prvi pogled sve djeluje vrlo slično, "ispod haube" se kriju velike promjene.
Prva, ali nipošto ne i najveća, razlika je u imenima naredbi. Premda iz nove ljuske možemo izvršavati i sve stare naredbe, one nove (koje su microsoftovci nazvali commandlets, ili kraće, cmdlets) razlikuju se od starih kako po sintaksi tako i po tome što nisu spremljene u izvršnim (.exe) datotekama, već u upravljanim dll-ovima. Svaki commandlet je zapravo klasa naslijeđena iz bazne klase Cmdlet.
Grubo govoreći, kada ljuska MSH treba izvršiti konkretnu naredbu, ona najprije kreira odgovarajući commandlet-objekt i tada poziva neke njegove metode koje zatim obavljaju sve one radnje navedene "u opisu posla" dotične naredbe. Cmdleti ne moraju leksički i sintaksno analizirati svoje ulazne parametre jer to za njih čini MSH. Njihova jedina obaveza je da prikupe vrijednosti parametara i nešto s njima urade te da zatim rezultat svog rada proslijede dalje. Zbog toga je pisanje novih cmdleta pojednostavljeno, što je još jedna prednost u odnosu na situaciju u klasičnim ljuskama kod kojih je svaka pojedinačna naredba odgovorna za sintaksnu analizu svojih ulaznih parametara pa se ponekad događa da pojedine naredbe imaju svoja posebna pravila, različita od ostalih i vode neku svoju "politiku".
Cmdleti imaju posebnu, standardiziranu nomenklaturu: svaka naredba u MSH-u je oblika glagol-imenica. Npr., naredba koja vraća listu svih pokrenutih procesa zove se get-process. Popis svih cmdleta koji nam stoje na raspolaganju možemo dobiti pomoću naredbe get-command (vidi sliku 2). Trenutno MSH ima točno 123 cmdleta, ali vjerojatno će ih biti i više kada izađe finalna verzija proizvoda. Neke češće korištene naredbe imaju i svoje aliase (tj. alternativna, obično kraća imena). Popis svih aliasa možemo dobiti pomoću naredbe get-alias.
Ako pogledamo te aliase, vidjet ćemo da je dir ustvari samo alias za naredbu get-childitem, da je cd alias za mnogo općenitiju naredbu set-location itd.
Pomoću naredbe set-alias moguće je dodavanje novih aliasa.
Naravno, MSH omogućuje pisanje izvršnih skripti, kao i dodavanje novih cmdleta. Ono što će svakako početniku pri korištenju MSH-a najviše koristiti jest naredba get-help pomoću koje možemo saznati što koja naredba radi i koji su njeni ulazni parametri. Ljubitelji UNIX-a doći će na svoje kad shvate da help-zapis kojeg generira get-help sliči ispisu koji bismo na UNIX-u dobili pomoću naredbe man (vidi sliku 3).
Napomena: Članci iz časopisa se ne prenose uvijek kompletni, sa svim slikama, potpisima pod slike, okvirima, tablicama i sličnim. Ponekad se ne prenosi niti cijeli tekst članka. Svrha članaka na Webu jest da pruže uvid u način obrade teme i potaknu interes za proučavanjem tiskanog broja. Za cjelovit uvid u članke - savjetujemo da pogledate papirnato izdanje časopisa. Hvala.
U svojoj "Monadologiji" Leibniz je ustvrdio da je sve na svijetu sastavljeno od jednostavnih osnovnih elemenata, monada, objedinjenih u unaprijed uspostavljenom skladu. Microsoftova nova komandna ljuska, "Monad", sličan sklad složenosti sastavljene od jednostavnosti uvodi i u svijet komandne linije...

izdvojeni tekstovi - ožujak 2006.

Siječanj/Veljača 2006

Malo velikih pon 20.2.2006

Windows "Monad" Shell Beta 2

Monadologija naredbenog retka pon 20.2.2006

IBM Lotus Notes & Domino 7

Inovacija, suradnja, dominacija pon 20.2.2006

Kako prodavati putem Interneta?

Od igle do aviona pon 20.2.2006

LAB2000 SAS743T

Terabajtno skladište pon 20.2.2006

Allied Telesyn AT-8948

Mali veliki preklopnik pon 20.2.2006

Pregled prošle godine u svijetu i HR

Najgora dosad? pon 20.2.2006

Zakon o elektroničkoj ispravi

Digitalizacija na djelu pon 20.2.2006

Miro Rosandić

Prividna idila pon 20.2.2006

Asus MyPal A636 i viaGPS

Pravi drugar na putu uto 14.2.2006

Buffalo TeraStation 1 TB

Neovisna kutijica uto 7.2.2006