Monad是一個代碼,代表Windows上的一個新的互動式命令列(command line)以及任務導向的編劇(scripting)技術。Monad也被稱為MSH,是下一代的Windows命令shell,它讓我們用全新的角度來完成各式各樣的管理任務。至少,從管理員和高手玩家的角度來看,命令列終於真正變成Windows系統管理界的一等公民了。

Windows Shell改朝換代
Monad沿襲傳統的介層(shell)觀念,可以用來進行互動式編劇以及檔案式的編劇。然而,Monad也有創新之處:它充分運用物件的威力,提供全功能的語言,原生支援豐富的資料型態,並將介層、命令、工具程式的觀念翻新再造。這使得Monad成為一個不尋常的介層,從命令列使用者,到複雜的編劇者(scripter),大家都可以使用。

Monad包含了互動式的介層、威力強大的編劇語言、豐富的工具程式、一群命令及一套SDK。Monad可以輕易地和資料儲存區(不管是什麼資料)溝通,就像和檔案系統溝通一樣容易。Monad的願景希望做到四個目標︰和KSH及BASH一樣具有互動性與編寫性、和Perl或Python一樣適合寫程式、和AS400 CL或VMS DCL一樣具有程序導向的特色、和TCL或WSH一樣可以被嵌入。

意圖在單一、整合系統管理工具
對於系統管理來說,使用許多套工具是免不了的。Monad字面上的意思是「單一」,顧名思義,Monad意圖做出一套整合完善的工具,讓使用者不需要再用許多不同的工具。不管你是否在尋找一個更好的Windows命令列shell,尋找一個簡單的環境以執行常用劇本,或者在尋找一個功能強大的描述語言好讓你開發出功能複雜的產品,Monad都應該會滿足你的需求。

Monad的起源,其實有一點無心插柳。WMI是用來管理Windows作業系統的一個重要的API,雖然WMIC(WMI的命令列介面)的威力很大,但是它的語法讓許多人覺得難以上手。雖然WMI對Windows的操控相當不錯,但是遇上其他廠商的產品就沒輒了。Jeffrey Sonver原先意圖用C#改寫WMIC,後來這個想法變成了Monad計畫。Monad的吸引力無遠弗屆,如果你用過其他的介層(比方說Unix的介層),你會發現Monad的出現,讓Windows「命令視窗」有許多新東西值得你賞玩。

非教學手冊,速速導覽新MSH
本書中包含了七個章節和兩個附錄。每個章節都有一系列隨手實驗,可以幫助你學會如何使用MSH來達成特定的任務。有些實驗用來幫助你熟悉關鍵的概念,例如pipeline的用法,有些則是可以幫助你進行一般的任務,例如展示registry的內容。每個實驗都會引介一個任務,向你展示如何達到該任務,並解釋過程中用到的MSH指令和劇本是如何運作的。

第一章,介紹MSH,包含基本概念,例如介層的下載與安裝,MSH的語法,透過pipeline傳遞資訊,展示console的資料。第二章,調整MSH,開始使用命令介層,包括了劇本的編寫以及執行,節省時間的技巧,改變預定的MSH環境成為你自己的環境。第三章,MSH編劇,瞭解和.NET Framework之間的關係,瞭解編劇語言的許多細節,包括了物件、變數、劇本流程技巧及函式。第四章,管理MSH範圍與狀態,進入編劇語言的許多深入主題,例如變數範圍、字串處理、錯誤處理。第五章,加入到MSH工具箱,介紹一些好用的標準命令,教你如何載入與儲存資料,並示範.NET Framework和COM擴充點的用法。第六章,使用作業系統元件,和Windows底層進行互動,包括事件日誌、系統服務、WMI。第七章,將MSH用在工作上,一些使用shell的實用技巧,包括和「依賴cmd.exe的舊程式」進行合作,批次檔移轉,並提供一個很有用的MSH高手級程式庫。

不管你是系統管理員、開發者或Windows高手,MSH都可以是你的一個很好用的工具,如果你習慣打開命令視窗敲個不停,或者經常花時間寫批次檔來解決一些挑戰,那麼你絕對要讀這本書,快快學會Monad。

Monad : Introducing the MSH Command Shell and Language
Andy Oakley /著
O’Reilly出版
售價:34.95美元

《作者簡介》蔡學鏞
清華大學資訊工程碩士,寰震科技技術顧問。曾任華碩集團軟體工程師、元智大學資訊系講師、美商歐萊禮出版社顧問、台灣微軟特約專欄作家。

蔡學鏞曾參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。蔡先生著譯有數本 Java 書籍,並在台灣和中國的雜誌開闢技術專欄。

熱門新聞

Advertisement