對于 UNIX 本身,也有各種稱呼。IBM® 大型機用戶說各種帶字母 “z” 的行話,比如 IBM z/OS® 和 System z9 Virtual Machine (z/VM);嵌套系統(tǒng)開發(fā)人員使用 eCos 這個詞;在聊天中還會提到其他許多風(fēng)格的 UNIX,比如 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。現(xiàn)代信息技術(shù)使用各種各樣的方言,簡直就像是圣經(jīng)中巴別塔的故事。
當(dāng)然,也有不少人說 Windows 術(shù)語,盡管大多數(shù)人只掌握 “指向和單擊” 這樣的簡單詞匯。經(jīng)過 20 年的發(fā)展,大多數(shù) Windows 用戶已經(jīng)忘了古老的 DOS 術(shù)語。
但是,與 UNIX shell 相比,Windows COMMAND實用程序的功能實在很差;因此,UNIX 用戶通常認(rèn)為 Windows 是一種讓人灰心喪氣的平臺。對于習(xí)慣于使用豐富的命令行工具集的 UNIX 軟件開發(fā)人員來說,Windows 尤其別扭。對于 UNIX 開發(fā)人員來說,使用 Windows 簡直就像是到了陌生的外國。
幸運的是,Cygwin(見 參考資料)在 Windows 環(huán)境中提供大家熟悉的一片天地,就像是美國人在法國找到了麥當(dāng)勞。
Cygwin 是一個用于 Windows 的類 UNIX shell 環(huán)境。 它由兩個組件組成:一個 UNIX API 庫,它模擬 UNIX 操作系統(tǒng)提供的許多特性;以及 Bash shell 的改寫版本和許多 UNIX 實用程序,它們提供大家熟悉的 UNIX 命令行界面。前一個組件是一個 Windows 動態(tài)鏈接庫 (DLL)。后一個組件是一組基于 Cygwin DLL 的程序,其中許多是用未經(jīng)修改的 UNIX 源代碼編譯的。它們合在一起提供大家熟悉的 UNIX 環(huán)境。
這篇文章我們要安裝 Cygwin,討論它的命令行界面 (CLI),并構(gòu)建標(biāo)準(zhǔn) Cygwin 發(fā)行版中未包含的開放源碼,以此體會把 UNIX 應(yīng)用程序(至少是一部分 UNIX 應(yīng)用程序)遷移到這個模擬環(huán)境是多么容易。
安裝 Cygwin
與這里介紹的其他軟件不同,Cygwin 使用 Windows 安裝程序。Cygwin setup.exe 文件可以重新安裝軟件,可以添加、修改或升級 Cygwin 配置的組件。
在 Windows 系統(tǒng)上打開瀏覽器,通過訪問 http://cygwin.com/setup.exe 下載 Cygwin 安裝程序。安裝程序本身非常。ù蠹s 600KB),因為大多數(shù) Cygwin 軟件是在安裝過程中下載的。完成下載之后,按照以下步驟安裝 Cygwin:
運行安裝程序。圖 1 顯示 Cygwin 歡迎屏幕。
圖 1. 在安裝 Cygwin 期間出現(xiàn)的第一個對話框
單擊 Next 進入下一個屏幕,選擇要執(zhí)行的安裝類型。
單擊 Install from Internet。
單擊 Next,然后選擇一個安裝目錄。
配置安裝的窗口見圖 2。
圖 2. Cygwin 安裝選項
在大多數(shù)情況下,推薦的安裝選項是合適的,也可以進行定制,但是要注意幾點:
不要在 Windows 系統(tǒng)的根目錄(比如 C:)中安裝 Cygwin。最好把 Cygwin 安裝在它自己的子目錄中,比如默認(rèn)目錄(C:\cygwin)或 C:\Program Files\cygwin。(您選擇的目標(biāo)目錄將成為模擬的 UNIX 環(huán)境的根目錄/。例如,如果在 C:\cygwin 中安裝,那么虛擬的 /usr/bin 實際上是 C:\cygwin\usr\bin)。
對于 Install For 選項,不要選擇 Just Me。
把 Default Text File 類型設(shè)置為 Unix,從而盡可能提高與其他 UNIX 機器上存儲的現(xiàn)有文件的兼容性。
5. 單擊Next。
在下一個窗口中,選擇一個存儲 Cygwin 所需的數(shù)據(jù)的目錄。不要選擇前一步中選擇的 Cygwin 目錄。 如果可能的話,應(yīng)該在有至少 1GB 空閑空間的驅(qū)動器上創(chuàng)建或選擇一個目錄。
6. 再次單擊 Next,選擇使用的 Internet 連接類型。通常應(yīng)該選擇 Direct Connection。
7. 再次單擊 Next。
稍等一會兒,Cygwin 會下載當(dāng)前的鏡像站點列表,讓您選擇一個鏡像站點,見圖 3。如果不確定應(yīng)該選擇哪個站點,就選擇地理位置比較近的站點。
圖 3. 選擇您認(rèn)為可靠的或地理位置比較近的安裝站點
經(jīng)過短暫的延遲之后,安裝程序顯示可用的類別和包的完整列表。圖 4 顯示一個類別的部分內(nèi)容。單擊加號 (+) 展開對應(yīng)的類別;單擊 “循環(huán)” 標(biāo)志在 Skip(忽略此包)和包的所有可用版本之間循環(huán)。如果 Cygwin 提供一個實用程序的多個版本,應(yīng)該選擇滿足您的需求的實例。順便說一下,如果選擇 B 列,就會下載二進制包;選擇 S,也會下載源代碼。
圖 4. 選擇最適合需要的包和實例
在 Cygwin 中可用的包超過 1,000 個,所以應(yīng)該只選擇您需要的類別和包。(安裝所有 Cygwin 包會占用超過 800MB 的磁盤空間)。以后隨時可以添加整個類別或單獨的包:只需重新運行 Cygwin 安裝程序。(還可以在任何時候用相同的安裝程序刪除或更新包)。搜索 Cygwin 包列表(參見 參考資料),檢查您喜歡的 UNIX 實用程序是否在 Cygwin 中可用。
8. 選擇您需要的工具之后,單擊 Next,下載過程開始!
進度條分別反映每個包的下載進度、總下載進度和磁盤使用量。圖 5 是在我的測試計算機上在安裝期間截取的屏幕圖。
圖 5. Cygwin 下載大量軟件,所以請耐心等待
最后,安裝程序安裝軟件并(可選地)在 Start 菜單和桌面中添加快捷方式。單擊 Finish
9. 通過使用 Start 菜單或雙擊 Cygwin 圖標(biāo)(如果添加了這些快捷方式的話),啟動 Cygwin;也可以執(zhí)行 Cygwin 目錄中的 Cygwin 腳本(比如 C:\cygwin\Cygwin.bat)。
圖 6 顯示第一次啟動 Cygwin 時的情況:它創(chuàng)建您的主目錄,執(zhí)行 shell 啟動文件,顯示提示,F(xiàn)在可以運行 UNIX 命令了!
圖 6. 現(xiàn)在可以在 Windows 中使用 UNIX 命令了!
例如,試一下 ls -a或 type touch。后一個命令表明 touch是可執(zhí)行文件 /usr/bin/touch。