UNIX 環境模擬工具Cygwin安裝及使用圖文教程

對於 UNIX 自己,也有各類稱呼。IBM® 大型機用戶說各類帶字母 「z」 的行話,好比 IBM z/OS® 和 System z9 Virtual Machine (z/VM);嵌套系統開發人員使用 eCos 這個詞;在聊天中還會提到其餘許多風格的 UNIX,好比 Linux®、FreeBSD、Sun Solaris 和 Mac OS X。現代信息技術使用各類各樣的方言,簡直就像是聖經中巴別塔的故事。 shell

固然,也有很多人說 Windows 術語,儘管大多數人只掌握 「指向和單擊」 這樣的簡單詞彙。通過 20 年的發展,大多數 Windows 用戶已經忘了古老的 DOS 術語。 瀏覽器

可是,與 UNIX shell 相比,Windows COMMAND實用程序的功能實在不好;所以,UNIX 用戶一般認爲 Windows 是一種讓人灰心喪氣的平臺。對於習慣於使用豐富的命令行工具集的 UNIX 軟件開發人員來講,Windows 尤爲彆扭。對於 UNIX 開發人員來講,使用 Windows 簡直就像是到了陌生的外國。 安全

幸運的是,Cygwin(見 參考資料)在 Windows 環境中提供你們熟悉的一片天地,就像是美國人在法國找到了麥當勞。 工具

Cygwin 是一個用於 Windows 的類 UNIX shell 環境。 它由兩個組件組成:一個 UNIX API 庫,它模擬 UNIX 操做系統提供的許多特性;以及 Bash shell 的改寫版本和許多 UNIX 實用程序,它們提供你們熟悉的 UNIX 命令行界面。前一個組件是一個 Windows 動態連接庫 (DLL)。後一個組件是一組基於 Cygwin DLL 的程序,其中許可能是用未經修改的 UNIX 源代碼編譯的。它們合在一塊兒提供你們熟悉的 UNIX 環境。 測試

這篇文章咱們要安裝 Cygwin,討論它的命令行界面 (CLI),並構建標準 Cygwin 發行版中未包含的開放源碼,以此體會把 UNIX 應用程序(至少是一部分 UNIX 應用程序)遷移到這個模擬環境是多麼容易。 spa

安裝 Cygwin操作系統

與這裏介紹的其餘軟件不一樣,Cygwin 使用 Windows 安裝程序。Cygwin setup.exe 文件能夠從新安裝軟件,能夠添加、修改或升級 Cygwin 配置的組件。 命令行

在 Windows 系統上打開瀏覽器,經過訪問 http://cygwin.com/setup.exe 下載 Cygwin 安裝程序。安裝程序自己很是小(大約 600KB),由於大多數 Cygwin 軟件是在安裝過程當中下載的。完成下載以後,按照如下步驟安裝 Cygwin: server

運行安裝程序。圖 1 顯示 Cygwin 歡迎屏幕。 blog

圖 1. 在安裝 Cygwin 期間出現的第一個對話框

單擊 Next 進入下一個屏幕,選擇要執行的安裝類型。

單擊 Install from Internet。

單擊 Next,而後選擇一個安裝目錄。

配置安裝的窗口見圖 2。

圖 2. Cygwin 安裝選項

在大多數狀況下,推薦的安裝選項是合適的,也能夠進行定製,可是要注意幾點:

不要在 Windows 系統的根目錄(好比 C:)中安裝 Cygwin。最好把 Cygwin 安裝在它本身的子目錄中,好比默認目錄(C:\cygwin)或 C:\Program Files\cygwin。(您選擇的目標目錄將成爲模擬的 UNIX 環境的根目錄/。例如,若是在 C:\cygwin 中安裝,那麼虛擬的 /usr/bin 其實是 C:\cygwin\usr\bin)。

對於 Install For 選項,不要選擇 Just Me。

把 Default Text File 類型設置爲 Unix,從而儘量提升與其餘 UNIX 機器上存儲的現有文件的兼容性。

5. 單擊Next。

在下一個窗口中,選擇一個存儲 Cygwin 所需的數據的目錄。不要選擇前一步中選擇的 Cygwin 目錄。 若是可能的話,應該在有至少 1GB 空閒空間的驅動器上建立或選擇一個目錄。

6. 再次單擊 Next,選擇使用的 Internet 鏈接類型。一般應該選擇 Direct Connection。

7. 再次單擊 Next。

稍等一下子,Cygwin 會下載當前的鏡像站點列表,讓您選擇一個鏡像站點,見圖 3。若是不肯定應該選擇哪一個站點,就選擇地理位置比較近的站點。

圖 3. 選擇您認爲可靠的或地理位置比較近的安裝站點

通過短暫的延遲以後,安裝程序顯示可用的類別和包的完整列表。圖 4 顯示一個類別的部份內容。單擊加號 (+) 展開對應的類別;單擊 「循環」 標誌在 Skip(忽略此包)和包的全部可用版本之間循環。若是 Cygwin 提供一個實用程序的多個版本,應該選擇知足您的需求的實例。順便說一下,若是選擇 B 列,就會下載二進制包;選擇 S,也會下載源代碼。

圖 4. 選擇最適合須要的包和實例

在 Cygwin 中可用的包超過 1,000 個,因此應該只選擇您須要的類別和包。(安裝全部 Cygwin 包會佔用超過 800MB 的磁盤空間)。之後隨時能夠添加整個類別或單獨的包:只需從新運行 Cygwin 安裝程序。(還能夠在任什麼時候候用相同的安裝程序刪除或更新包)。搜索 Cygwin 包列表(參見 參考資料),檢查您喜歡的 UNIX 實用程序是否在 Cygwin 中可用。(這裏推薦安裝的包有binutils,gcc-core,gcc-g++,gdb)

8. 選擇您須要的工具以後,單擊 Next,下載過程開始!

進度條分別反映每一個包的下載進度、總下載進度和磁盤使用量。圖 5 是在個人測試計算機上在安裝期間截取的屏幕圖。

圖 5. Cygwin 下載大量軟件,因此請耐心等待

最後,安裝程序安裝軟件並(可選地)在 Start 菜單和桌面中添加快捷方式。單擊 Finish

9. 經過使用 Start 菜單或雙擊 Cygwin 圖標(若是添加了這些快捷方式的話),啓動 Cygwin;也能夠執行 Cygwin 目錄中的 Cygwin 腳本(好比 C:\cygwin\Cygwin.bat)。

圖 6 顯示第一次啓動 Cygwin 時的狀況:它建立您的主目錄,執行 shell 啓動文件,顯示提示。如今能夠運行 UNIX 命令了!

圖 6. 如今能夠在 Windows 中使用 UNIX 命令了!

例如,試一下 ls -a或 type touch。後一個命令代表 touch是可執行文件 /usr/bin/touch。

在 Windows 中發揮 UNIX 的優點(反之亦然)

Cygwin 在 Windows 中幾乎完整地模擬一個 UNIX shell。實際上,它把這兩種操做系統很好地結合在一塊兒了。例如,能夠運行 df -h命令顯示 「UNIX」 機器上的空閒磁盤空間。圖 7 顯示結果。

圖 7. 是 Windows 上的 UNIX 文件系統,仍是 UNIX 上的 Windows 文件系統?

正如前面提到的,Cygwin 安裝目錄做爲虛擬 UNIX 系統的根目錄。Cygwin 把安裝目錄中的子目錄映射到 UNIX 目錄。它以單獨的卷的形式提供 Windows 驅動器,好比 /cygwin/c。可使用這樣的虛擬路徑啓動 Windows 程序。請嘗試輸入

/cygwin/c/Program\ Files/Internet\ Explorer/IEXPLORE.EXE

從命令行啓動 Windows Internet Explorer®。(還可使用 Tab 鍵自動展開路徑的元素)。

順便說一句,若是要把 Windows 路徑名轉換爲等效的 UNIX 路徑名或者相反,能夠試試內置命令

cygpath。在默認狀況下,cygpath產生 UNIX 路徑名。使用-w選項產生 Windows 路徑。

$ cygpath -w /cygwin/c/Program\ Files/Internet\ Explorer/IEXPLORE.EXE c:\Program Files\Internet Explorer\IEXPLORE.EXE

還有幫助溝通這兩個環境的其餘特性:

Cygwin 提供它本身的 lpr(/usr/bin/lpr 而不是 Windows 的 LPR.EXE),能夠直接從模擬的 UNIX 環境進行打印。只需把 PRINTER 環境變量設置爲 \\server\printer_name 或 //server/printer_name 這樣的 Cygwin UNC;前向斜槓和反向斜槓均可以,在 Cygwin 中的其餘地方也是如此。

在 Cygwin 中用 ln -s建立的符號連接在 Windows 中被解釋爲快捷方式。一樣,Windows 快捷方式在 Cygwin 中被解釋爲符號連接。所以,可使用 Windows 快捷方式帶參數啓動 UNIX 命令。

由於 Cygwin 提供完整的 Bash shell,因此可使用上述的全部兼容特性(和其餘特性)編寫 UNIX shell 腳原本維護 Windows!

例如,可使用 UNIX find

在驅動器上搜索數據。請注意一點:在 Windows 文件名中經常使用空格。爲了保持完整的文件名(請記住,UNIX 參數以空格分隔),必定要使用 find -print0和 xargs -0。

見圖 4。展開 Devel 類別,使用循環控件選擇如下包的最高版本:

autoconf2.1

automake1.10

binutils

gcc-core

gcc4-core

gdb

pcre

pcre-devel

作出選擇以後(爲了知足依賴性,可能會自動選擇其餘包),單擊 Next 開始更新。與前面同樣,下載和安裝過程須要必定的時間(開發包每每至關大)。 參考資料)

結束語

Cygwin 並非完美的 UNIX 模擬環境,但已經至關好了。核心組件的文檔很完善,並且特別方便,它們介紹了模擬 DLL 中的限制和安全風險。

Cygwin 最棒的特性多是它與 Windows 的集成。使用 Cygwin 和它的 UNIX 命令行來操縱系統能夠大大提升生產力。建議在您的 shell PATH 變量中包含 Windows 的 Program Files 中的子目錄,這樣只需輸入程序名,就可以啓動路徑中的任何二進制程序。

更棒的是,Cygwin 能夠在同一個窗口中管理多個做業。按 Control-Z 能夠暫停正在運行的做業;輸入 bg和fg分別在後臺和前臺運行做業;輸入 jobs管理做業列表。固然,Cygwin 還能夠對輸入和輸出進行重定向,能夠經過管道把一個命令的輸出發送給另外一個命令。

cygwin的安裝文件在個人下載資源中有。

相關文章
相關標籤/搜索